From b2fed75086d8455860670284554be306f668cedf Mon Sep 17 00:00:00 2001 From: Cody Permann Date: Thu, 4 Oct 2012 12:12:28 -0600 Subject: [PATCH] Fparser Update --- contrib/fparser/Makefile | 63 +- contrib/fparser/Makefile.orig | 4 +- contrib/fparser/docs/fparser.html | 135 +- contrib/fparser/extrasrc/fp_identifier_parser.inc | 206 +- contrib/fparser/extrasrc/fpaux.hh | 259 +- contrib/fparser/extrasrc/fptypes.hh | 12 +- contrib/fparser/fparser.cc | 150 +- contrib/fparser/fparser.hh | 6 +- contrib/fparser/fparser_gmpint.hh | 2 +- contrib/fparser/fparser_mpfr.hh | 2 +- contrib/fparser/fpconfig.hh | 67 +- contrib/fparser/fpoptimizer/bytecodesynth.cc | 2 +- contrib/fparser/fpoptimizer/codetree.cc | 2 +- contrib/fparser/fpoptimizer/constantfolding.cc | 1 - contrib/fparser/fpoptimizer/consts.hh | 4 - contrib/fparser/fpoptimizer/fpoptimizer_header.txt | 2 +- contrib/fparser/fpoptimizer/grammar.cc | 1 + contrib/fparser/fpoptimizer/grammar.hh | 1 + contrib/fparser/fpoptimizer/makebytecode.cc | 9 + contrib/fparser/fpoptimizer/opcodename.cc | 5 +- contrib/fparser/fpoptimizer/rangeestimation.cc | 2 - contrib/fparser/fpoptimizer/rangeestimation.hh | 4 +- contrib/fparser/fpoptimizer/readbytecode.cc | 9 - contrib/fparser/fpoptimizer/transformations.cc | 2 +- contrib/fparser/fpoptimizer/treerules.dat | 7 + contrib/fparser/run_full_release_testing.sh | 10 +- contrib/fparser/testbed.cc | 436 +- contrib/fparser/testbed_tests.inc |14278 ++++++++++---------- .../tests/20optimizer_optimizations/expexp_a | 5 + .../tests/20optimizer_optimizations/expexp_b | 5 + .../tests/20optimizer_optimizations/expexp_c | 5 + contrib/fparser/util/bytecoderules_header.txt | 2 +- contrib/fparser/util/bytecoderules_parser.cc | 2 +- .../create_testrules_for_optimization_rules.cc | 1 - contrib/fparser/util/make_function_name_parser.cc | 2 +- contrib/fparser/util/powi_opt.cc | 4 - contrib/fparser/util/tree_grammar_parser.cc | 3 + 37 files changed, 7789 insertions(+), 7921 deletions(-) create mode 100644 contrib/fparser/tests/20optimizer_optimizations/expexp_a create mode 100644 contrib/fparser/tests/20optimizer_optimizations/expexp_b create mode 100644 contrib/fparser/tests/20optimizer_optimizations/expexp_c diff --git a/contrib/fparser/Makefile b/contrib/fparser/Makefile index a077bfa..a6a0128 100644 --- a/contrib/fparser/Makefile +++ b/contrib/fparser/Makefile @@ -33,14 +33,13 @@ endif # The optimizer code generator requires bison. #=========================================================================== -RELEASE_VERSION=4.4.3 +RELEASE_VERSION=4.5 # The FP_FEATURE_FLAGS is set by run_full_release_testing.sh, but can be # used otherwise as well. ifeq ($(FP_FEATURE_FLAGS),) FEATURE_FLAGS = FEATURE_FLAGS += -DFP_ENABLE_EVAL -#FEATURE_FLAGS += -DFP_SUPPORT_TR1_MATH_FUNCS # Mac OSX has trouble linking the optimizer stuff, so we disable # it on those systems. @@ -48,9 +47,9 @@ ifeq ($(findstring darwin,$(hostos)),darwin) FEATURE_FLAGS += -DFP_NO_SUPPORT_OPTIMIZER endif +#FEATURE_FLAGS += -DFP_NO_SUPPORT_OPTIMIZER #FEATURE_FLAGS += -DFP_USE_THREAD_SAFE_EVAL #FEATURE_FLAGS += -DFP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA -#FEATURE_FLAGS += -DFP_NO_EVALUATION_CHECKS #FEATURE_FLAGS += -D_GLIBCXX_DEBUG #FEATURE_FLAGS += -DFP_DISABLE_SHORTCUT_LOGICAL_EVALUATION FEATURE_FLAGS += -DFP_SUPPORT_FLOAT_TYPE @@ -74,14 +73,14 @@ fp_LDFLAGS=$(libmesh_LDFLAGS) ifneq (,$(findstring -DFP_SUPPORT_MPFR_FLOAT_TYPE,$(FEATURE_FLAGS))) fp_LDFLAGS += -lgmp -lmpfr -ADDITIONAL_SRCS = mpfr/MpfrFloat.cc +ADDITIONAL_MODULES = mpfr/MpfrFloat.$(obj-suffix) ifneq (,$(findstring -DFP_SUPPORT_GMP_INT_TYPE,$(FEATURE_FLAGS))) -ADDITIONAL_SRCS += mpfr/GmpInt.cc +ADDITIONAL_MODULES += mpfr/GmpInt.$(obj-suffix) endif else ifneq (,$(findstring -DFP_SUPPORT_GMP_INT_TYPE,$(FEATURE_FLAGS))) fp_LDFLAGS += -lgmp -ADDITIONAL_SRCS = mpfr/GmpInt.cc +ADDITIONAL_MODULES = mpfr/GmpInt.$(obj-suffix) endif endif @@ -95,6 +94,10 @@ endif fp_CPPFLAGS += -I. +ifeq ($(findstring darwin,$(hostos)),darwin) +SRC = fparser.cc \ + $(ADDITIONAL_MODULES) +else SRC = fparser.cc \ fpoptimizer/grammar_data.cc \ fpoptimizer/optimize_main.cc \ @@ -115,31 +118,49 @@ SRC = fparser.cc \ fpoptimizer/cse.cc \ fpoptimizer/debug.cc \ fpoptimizer/hash.cc \ - $(ADDITIONAL_SRCS) + $(ADDITIONAL_MODULES) +endif OBJS := $(patsubst %.cc, %.$(obj-suffix), $(SRC)) -testbed: testbed.$(obj-suffix) $(target) - $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(BOOST_THREAD_LIB) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser +#RELEASE_PACK_FILES = examples/example.cc examples/example2.cc fparser.cc \ +# fparser.hh fparser_mpfr.hh fparser_gmpint.hh \ +# fpoptimizer.cc fpconfig.hh extrasrc/fptypes.hh extrasrc/fpaux.hh \ +# mpfr/MpfrFloat.hh mpfr/MpfrFloat.cc mpfr/GmpInt.hh mpfr/GmpInt.cc \ +# extrasrc/fp_opcode_add.inc \ +# extrasrc/fp_identifier_parser.inc \ +# docs/fparser.html docs/style.css docs/lgpl.txt docs/gpl.txt + +testbed: testbed.$(obj-suffix) $(FP_MODULES) + $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser fpoptimizer.$(obj-suffix): fpoptimizer.cc -speedtest: util/speedtest.$(obj-suffix) $(target) +testbed_release: testbed.$(obj-suffix) fparser.$(obj-suffix) fpoptimizer.$(obj-suffix) $(ADDITIONAL_MODULES) + $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser + +speedtest: util/speedtest.$(obj-suffix) $(FP_MODULES) + $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser + +speedtest_release: util/speedtest.$(obj-suffix) fparser.$(obj-suffix) fpoptimizer.$(obj-suffix) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser -examples/example: examples/example.$(obj-suffix) $(target) +examples/example: examples/example.$(obj-suffix) $(FP_MODULES) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser -examples/example2: examples/example2.$(obj-suffix) $(target) +examples/example2: examples/example2.$(obj-suffix) $(FP_MODULES) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser -ftest: util/ftest.$(obj-suffix) $(target) +ftest: util/ftest.$(obj-suffix) $(FP_MODULES) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser -powi_speedtest: util/powi_speedtest.$(obj-suffix) $(target) +powi_speedtest: util/powi_speedtest.$(obj-suffix) $(FP_MODULES) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser -functioninfo: util/functioninfo.$(obj-suffix) $(target) +koe: koe.$(obj-suffix) $(FP_MODULES) + $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser + +functioninfo: util/functioninfo.$(obj-suffix) $(FP_MODULES) $(libmesh_CXX) -o $@ $< $(fp_LDFLAGS) $(libmesh_RPATHFLAG)$(EXTERNAL_LIBDIR) -L$(EXTERNAL_LIBDIR) -lfparser fpoptimizer/grammar_data.cc: \ @@ -160,11 +181,9 @@ extrasrc/fp_opcode_add.inc: \ | util/cpp_compress \ >> $@ -fpoptimizer/bytecodesynth.$(obj-suffix): extrasrc/fp_opcode_add.inc - -tests/make_tests: tests/make_tests.$(obj-suffix) \ - util/cpp_compress.$(obj-suffix) - $(libmesh_CXX) -o $@ $^ $(fp_LDFLAGS) +tests/make_tests: \ + tests/make_tests.$(obj-suffix) util/cpp_compress.$(obj-suffix) + @$(libmesh_CXX) -o $@ $^ $(fp_LDFLAGS) testbed_tests.inc: tests/make_tests tests/make_tests tests/*/* -o $@ @@ -353,9 +372,7 @@ clean: util/*.$(obj-suffix) \ *.$(obj-suffix) \ .dep \ - util/tree_grammar_parser.output \ - extrasrc/fp_opcode_add.inc \ - fpoptimizer/grammar_data.cc + util/tree_grammar_parser.output release_clean: @rm -f testbed_release speedtest_release \ diff --git a/contrib/fparser/Makefile.orig b/contrib/fparser/Makefile.orig index 5e3bd50..4c1739c 100644 --- a/contrib/fparser/Makefile.orig +++ b/contrib/fparser/Makefile.orig @@ -7,18 +7,16 @@ # The optimizer code generator requires bison. #=========================================================================== -RELEASE_VERSION=4.4.3 +RELEASE_VERSION=4.5 # The FP_FEATURE_FLAGS is set by run_full_release_testing.sh, but can be # used otherwise as well. ifeq ($(FP_FEATURE_FLAGS),) FEATURE_FLAGS = FEATURE_FLAGS += -DFP_ENABLE_EVAL -#FEATURE_FLAGS += -DFP_SUPPORT_TR1_MATH_FUNCS #FEATURE_FLAGS += -DFP_NO_SUPPORT_OPTIMIZER #FEATURE_FLAGS += -DFP_USE_THREAD_SAFE_EVAL #FEATURE_FLAGS += -DFP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA -#FEATURE_FLAGS += -DFP_NO_EVALUATION_CHECKS #FEATURE_FLAGS += -D_GLIBCXX_DEBUG #FEATURE_FLAGS += -DFP_DISABLE_SHORTCUT_LOGICAL_EVALUATION FEATURE_FLAGS += -DFP_SUPPORT_FLOAT_TYPE diff --git a/contrib/fparser/docs/fparser.html b/contrib/fparser/docs/fparser.html index a03249a..da99f67 100644 --- a/contrib/fparser/docs/fparser.html +++ b/contrib/fparser/docs/fparser.html @@ -3,11 +3,11 @@ - Function Parser for C++ v4.4.3 : Documentation + Function Parser for C++ v4.5 : Documentation -

Function Parser for C++ v4.4.3

+

Function Parser for C++ v4.5

Authors: Juha Nieminen (http://iki.fi/warp/), @@ -70,46 +70,25 @@ Joel Yliluoma

What's new

-

What's new in v4.4.3 +

What's new in v4.5

-

What's new in v4.4.2 -

- -

What's new in v4.4.1 -

- -

What's new in v4.4 -

@@ -342,33 +321,8 @@ file. literals will be parsed with double precision only, which in most systems is less accurate than long double precision, which will cause small rounding errors. (This setting has no effect on the other parser - types.) - - -

FP_SUPPORT_TR1_MATH_FUNCS : (Default off)

-

Define this precompiler constant to make the library use additional - math functions defined in the C99 standard and the C++ TR1 standard - proposal (but not yet in the official C++ standard). This can make - evaluation faster when these functions are involved. -

The C++ TR1 math functions in question are: asinh(), - acosh(), atanh(), exp2() and - log2(). (Note that these functions are assumed to be - inside the std::tr1 namespace and declared in the - <tr1/cmath> header.) -

- -

FP_ENABLE_EVAL : (Default off)

-

Even though the maximum recursion level of the eval() - function is limited, it is still possible to write functions which never - reach this maximum recursion level but take enormous amounts of - time to evaluate (this can be undesirable eg. in web server-side - applications). For this reason this function is disabled by default. - You can add support for the eval() function by - defining this precompiler constant. -

- -

FP_EVAL_MAX_REC_LEVEL : (Default 1000)

-

Sets the maximum recursion level allowed for eval(). + types.) Note that strtold() will also be automatically used + if __cplusplus indicates that C++11 is in use.

FP_SUPPORT_OPTIMIZER : (Default on)

@@ -382,11 +336,6 @@ file. compiler settings. -

FP_EPSILON : (Default 1e-14)

-

Epsilon value used in comparison operators. - If this line is commented out, then no epsilon will be used. -

-

FP_USE_THREAD_SAFE_EVAL : (Default off)

Define this precompiler constant to make Eval() thread-safe. Refer to the thread safety @@ -402,13 +351,6 @@ file. This will make it faster, but the alloca() function is not standard and thus not supported by all compilers.

- -

FP_NO_EVALUATION_CHECKS : (Default off)

-

If this precompiler constant is defined, no evaluation-time checks - will be performed. This may give a slight boost in speed in certain - situations. Consult the evaluation - checks section below for more information on this subject. -

@@ -460,6 +402,14 @@ void setDelimiterChar(char);
+static double epsilon();
+static void setEpsilon(double);
+
+ +

Setter and getter for the epsilon value used with comparison operators. + +


+
 const char* ErrorMsg(void) const;
 
@@ -678,6 +628,27 @@ supported by the function parser (such as '}',
+ +
+static double epsilon();
+static void setEpsilon(double);
+
+ +

Comparison operators (for the non-integral versions of the parser) use an +epsilon value to account for floating point calculation rounding errors. +This epsilon value can be set and read with these functions. (Note that the +specified value will be used by all instances of FunctionParser.) If not +specified, the default values are: + +

+ + +
 const char* ErrorMsg(void) const;
@@ -1665,7 +1636,7 @@ should be used instead of using numerical literals).
 
 

About evaluation-time checks

-

By default FunctionParser::Eval() will perform certain sanity +

FunctionParser::Eval() will perform certain sanity checks before performing certain operations. For example, before calling the sqrt function, it will check if the parameter is negative, and if so, it will set the proper error code instead of calling the function. @@ -1702,12 +1673,6 @@ if floating point errors cause an interrupt in the target computer architecture and/or when using certain compiler settings, this library cannot guarantee that it will never happen. -

Since not all error situations can be caught, and since the sanity checks -only slow down the evaluation (although only very slightly), the precompiler -constant FP_NO_EVALUATION_CHECKS can be used to turn all the -checks off. This might make the evaluation slightly faster in certain -situations. -

Note that the optimizer never performs any sanity checks. diff --git a/contrib/fparser/extrasrc/fp_identifier_parser.inc b/contrib/fparser/extrasrc/fp_identifier_parser.inc index a1baac8..00d5081 100644 --- a/contrib/fparser/extrasrc/fp_identifier_parser.inc +++ b/contrib/fparser/extrasrc/fp_identifier_parser.inc @@ -135,161 +135,155 @@ to be modified by hand. } /* This function generated with make_function_name_parser.cc */ -#define lO l1 lE -#define lN l4 lE -#define lM if('i'l5 -#define lL 'n'l5 -#define lK l2 3]={ +#define lO l3 lH +#define lN switch( +#define lM l4 lH +#define lL if('i'l5 +#define lK 'n'l5 #define lJ 0x80000003U; -#define lI )==0)l0( -#define lH l3 3 lI +#define lI l1 3]={ +#define lH case #define lG 0x80000005U; -#define lF :l9 uptr[ -#define lE case -#define lD l8 3;}lE -#define lC std::memcmp(uptr+ -#define lB lF 1]){lE -#define lA 'a'lB -#define l9 switch( +#define lF )==0)l0( +#define lE l8 3;}lH +#define lD std::memcmp(uptr+ +#define lC l2 3 lF +#define lB lA 1]){lH +#define lA :lN uptr[ +#define l9 'a'lB #define l8 default:l0 -#define l7 lG l0 5;}lE +#define l7 lG l0 5;}lH #define l6 <<16)| #define l5 ==uptr[ #define l4 lJ l0 3; -#define l3 lC 1,tmp, -#define l2 static const char tmp[ -#define l1 0x80000004U;l0 4; +#define l3 0x80000004U;l0 4; +#define l2 lD 1,tmp, +#define l1 static const char tmp[ #define l0 return -l9 -nameLength){lE -2:lM +lN +nameLength){lH +2:lL 0]&&'f'l5 1])l0(cIf l6 0x80000002U;l0 -2;lE +2;lH 3 -lF -0]){lE -lA'b':if('s'l5 +lA +0]){lH +l9'b':if('s'l5 2])l0(cAbs l6 -lN'r':if('g'l5 +lM'r':if('g'l5 2])l0(cArg l6 l4 -lD'c'lB'o'lF -2]){lE's':l0(cCos +lE'c'lB'o'lA +2]){lH's':l0(cCos l6 lJ -lE't':l0(cCot +lH't':l0(cCot l6 lJ -lD's':if('c'l5 +lE's':if('c'l5 2])l0(cCsc l6 l4 -lD'e':if('x'l5 +lE'e':if('x'l5 1]&&'p'l5 2])l0(cExp l6 -lN'i':if(lL +lM'i':if(lK 1]&&'t'l5 2])l0(cInt l6 -lN'l':if('o'l5 +lM'l':if('o'l5 1]&&'g'l5 2])l0(cLog l6 -lN'm'lB'a':if('x'l5 +lM'm'lB'a':if('x'l5 2])l0(cMax l6 -lN'i':if(lL +lM'i':if(lK 2])l0(cMin l6 l4 -lD'p':if('o'l5 +lE'p':if('o'l5 1]&&'w'l5 2])l0(cPow l6 -lN's'lB'e':if('c'l5 +lM's'lB'e':if('c'l5 2])l0(cSec l6 -lN'i':if(lL +lM'i':if(lK 2])l0(cSin l6 l4 -lD't':if('a'l5 -1]&&lL +lE't':if('a'l5 +1]&&lK 2])l0(cTan l6 l4 -lD +lE 4 -lF -0]){lE -lA'c':if('o'l5 +lA +0]){lH +l9'c':if('o'l5 2]&&'s'l5 3])l0(cAcos l6 -lO's':lM -2]&&lL +lO's':lL +2]&&lK 3])l0(cAsin l6 lO't':if('a'l5 -2]&&lL +2]&&lK 3])l0(cAtan l6 -l1 +l3 l8 4;} -lE'c'lB'b':if('r'l5 +lH'c'lB'b':if('r'l5 2]&&'t'l5 3])l0(cCbrt l6 -lO'e':lM +lO'e':lL 2]&&'l'l5 3])l0(cCeil l6 -lO'o'lF -2]){lE'n':if('j'l5 +lO'o'lA +2]){lH'n':if('j'l5 3])l0(cConj l6 lO's':if('h'l5 3])l0(cCosh l6 -l1 +l3 l8 4;} l8 4;} -lE'e'lB'v':if('a'l5 -2]&&'l'l5 -3])l0(cEval -l6 -lO'x':if('p'l5 -2]&&'2'l5 -3])l0(cExp2 +lH'e':{lI'x','p','2'} +;if(lC +cExp2 l6 -l1 -l8 -4;} -lE'i':{lK'm','a','g'} -;if(lH +l3} +lH'i':{lI'm','a','g'} +;if(lC cImag l6 -l1} -lE'l':{lK'o','g','2'} -;if(lH +l3} +lH'l':{lI'o','g','2'} +;if(lC cLog2 l6 -l1} -lE'r':{lK'e','a','l'} -;if(lH +l3} +lH'r':{lI'e','a','l'} +;if(lC cReal l6 -l1} -lE's'lB'i':if(lL +l3} +lH's'lB'i':if(lK 2]&&'h'l5 3])l0(cSinh l6 @@ -297,39 +291,39 @@ lO'q':if('r'l5 2]&&'t'l5 3])l0(cSqrt l6 -l1 +l3 l8 4;} -lE't':{lK'a','n','h'} -;if(lH +lH't':{lI'a','n','h'} +;if(lC cTanh l6 -l1} +l3} l8 4;} -lE +lH 5 -lF -0]){lE -lA'c':{lK'o','s','h'} -;if(lC +lA +0]){lH +l9'c':{lI'o','s','h'} +;if(lD 2,tmp,3 -lI +lF cAcosh l6 -l7's':{lK'i','n','h'} -;if(lC +l7's':{lI'i','n','h'} +;if(lD 2,tmp,3 -lI +lF cAsinh l6 l7't':if('a'l5 -2]){if(lL -3]){l9 -uptr[4]){lE'2':l0(cAtan2 +2]){if(lK +3]){lN +uptr[4]){lH'2':l0(cAtan2 l6 lG -lE'h':l0(cAtanh +lH'h':l0(cAtanh l6 lG l8 @@ -340,39 +334,39 @@ l0 l0 5;l8 5;} -lE'f':{l2 +lH'f':{l1 4]={'l','o','o','r'} -;if(l3 +;if(l2 4 -lI +lF cFloor l6 -l7'h':{l2 +l7'h':{l1 4]={'y','p','o','t'} -;if(l3 +;if(l2 4 -lI +lF cHypot l6 -l7'l':{l2 +l7'l':{l1 4]={'o','g','1','0'} -;if(l3 +;if(l2 4 -lI +lF cLog10 l6 -l7'p':{l2 +l7'p':{l1 4]={'o','l','a','r'} -;if(l3 +;if(l2 4 -lI +lF cPolar l6 -l7't':{l2 +l7't':{l1 4]={'r','u','n','c'} -;if(l3 +;if(l2 4 -lI +lF cTrunc l6 lG @@ -382,4 +376,4 @@ l8 5;} default:break;} l0 -nameLength; +nameLength; \ No newline at end of file diff --git a/contrib/fparser/extrasrc/fpaux.hh b/contrib/fparser/extrasrc/fpaux.hh index 922f4df..2ce6da2 100644 --- a/contrib/fparser/extrasrc/fpaux.hh +++ b/contrib/fparser/extrasrc/fpaux.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen, Joel Yliluoma *| |* *| @@ -19,9 +19,6 @@ #include "fptypes.hh" #include -#ifdef FP_SUPPORT_TR1_MATH_FUNCS -#include -#endif #ifdef FP_SUPPORT_MPFR_FLOAT_TYPE #include "mpfr/MpfrFloat.hh" @@ -38,26 +35,6 @@ #ifdef ONCE_FPARSER_H_ namespace FUNCTIONPARSERTYPES { - // Forward declarations - template - inline Value_t fp_exp(const Value_t&); - - template - inline Value_t fp_log(const Value_t&); - - template - inline Value_t fp_pow_base(const Value_t& x, const Value_t& y); - - template - inline bool isInteger(const Value_t&); - - template - inline bool isLongInteger(const Value_t&); - - template - inline long makeLongInteger(const Value_t&); - - // Definitions template struct IsIntType { @@ -89,54 +66,6 @@ namespace FUNCTIONPARSERTYPES }; #endif - // Commented versions in fparser.cc - template - inline Value_t fp_pow_with_exp_log(const Value_t& x, const Value_t& y) - { - return fp_exp(fp_log(x) * y); - } - - template - inline Value_t fp_powi(Value_t x, unsigned long y) - { - Value_t result(1); - while(y != 0) - { - if(y & 1) { result *= x; y -= 1; } - else { x *= x; y /= 2; } - } - return result; - } - - template - Value_t fp_pow(const Value_t& x, const Value_t& y) - { - if(x == Value_t(1)) return Value_t(1); - if(isLongInteger(y)) - { - if(y >= Value_t(0)) - return fp_powi(x, makeLongInteger(y)); - else - return Value_t(1) / fp_powi(x, -makeLongInteger(y)); - } - if(y >= Value_t(0)) - { - if(x > Value_t(0)) return fp_pow_with_exp_log(x, y); - if(x == Value_t(0)) return Value_t(0); - if(!isInteger(y*Value_t(16))) - return -fp_pow_with_exp_log(-x, y); - } - else - { - if(x > Value_t(0)) return fp_pow_with_exp_log(Value_t(1) / x, -y); - if(x < Value_t(0)) - { - if(!isInteger(y*Value_t(-16))) - return -fp_pow_with_exp_log(Value_t(-1) / x, -y); - } - } - return fp_pow_base(x, y); - } //========================================================================== // Constants @@ -237,19 +166,6 @@ namespace FUNCTIONPARSERTYPES inline Value_t fp_atan2(const Value_t& x, const Value_t& y) { return std::atan2(x, y); } -#ifdef FP_SUPPORT_CBRT - template - inline Value_t fp_cbrt(const Value_t& x) { return std::tr1::cbrt(x); } -#else - template - inline Value_t fp_cbrt(const Value_t& x) - { - return (x > Value_t() ? fp_exp(fp_log( x) / Value_t(3)) : - x < Value_t() ? -fp_exp(fp_log(-x) / Value_t(3)) : - Value_t()); - } -#endif - template inline Value_t fp_ceil(const Value_t& x) { return std::ceil(x); } @@ -287,15 +203,15 @@ namespace FUNCTIONPARSERTYPES template inline Value_t fp_tanh(const Value_t& x) { return std::tanh(x); } -#ifdef FP_SUPPORT_ASINH +#if __cplusplus > 201100 template - inline Value_t fp_asinh(const Value_t& x) { return std::tr1::asinh(x); } + inline Value_t fp_asinh(const Value_t& x) { return std::asinh(x); } template - inline Value_t fp_acosh(const Value_t& x) { return std::tr1::acosh(x); } + inline Value_t fp_acosh(const Value_t& x) { return std::acosh(x); } template - inline Value_t fp_atanh(const Value_t& x) { return std::tr1::atanh(x); } + inline Value_t fp_atanh(const Value_t& x) { return std::atanh(x); } #else template inline Value_t fp_asinh(const Value_t& x) @@ -315,10 +231,10 @@ namespace FUNCTIONPARSERTYPES } #endif // FP_SUPPORT_ASINH -#ifdef FP_SUPPORT_HYPOT +#if __cplusplus > 201100 template inline Value_t fp_hypot(const Value_t& x, const Value_t& y) - { return std::tr1::hypot(x,y); } + { return std::hypot(x,y); } #else template inline Value_t fp_hypot(const Value_t& x, const Value_t& y) @@ -329,9 +245,9 @@ namespace FUNCTIONPARSERTYPES inline Value_t fp_pow_base(const Value_t& x, const Value_t& y) { return std::pow(x, y); } -#ifdef FP_SUPPORT_LOG2 +#if __cplusplus > 201100 template - inline Value_t fp_log2(const Value_t& x) { return std::tr1::log2(x); } + inline Value_t fp_log2(const Value_t& x) { return std::log2(x); } #else template inline Value_t fp_log2(const Value_t& x) @@ -347,12 +263,6 @@ namespace FUNCTIONPARSERTYPES } template - inline Value_t fp_exp2(const Value_t& x) - { - return fp_pow(Value_t(2), x); - } - - template inline Value_t fp_trunc(const Value_t& x) { return x < Value_t() ? fp_ceil(x) : fp_floor(x); @@ -384,13 +294,11 @@ namespace FUNCTIONPARSERTYPES coshvalue = Value_t(0.5)*(ex+emx); } -#ifdef FP_EPSILON - template - inline Value_t fp_epsilon() { return Value_t(FP_EPSILON); } -#else template - inline Value_t fp_epsilon() { return Value_t(0); } -#endif + inline Value_t fp_epsilon() + { + return FunctionParserBase::epsilon(); + } #ifdef _GNU_SOURCE @@ -541,6 +449,20 @@ namespace FUNCTIONPARSERTYPES inline GmpInt fp_epsilon() { return 0; } #endif // FP_SUPPORT_GMP_INT_TYPE + +#if __cplusplus > 201100 + template + inline Value_t fp_cbrt(const Value_t& x) { return std::cbrt(x); } +#else + template + inline Value_t fp_cbrt(const Value_t& x) + { + return (x > Value_t() ? fp_exp(fp_log( x) / Value_t(3)) : + x < Value_t() ? -fp_exp(fp_log(-x) / Value_t(3)) : + Value_t()); + } +#endif + // ------------------------------------------------------------------------- // Synthetic functions and fallbacks for when an optimized // implementation or a library function is not available @@ -805,7 +727,8 @@ namespace FUNCTIONPARSERTYPES // const std::complex exp2x=fp_exp(x+x); // return (exp2x-T(1)) / (exp2x+T(1)); } -#ifdef FP_SUPPORT_ASINH + +#if __cplusplus > 201100 template inline std::complex fp_acosh(const std::complex& x) { return fp_log(x + fp_sqrt(x*x - std::complex(1))); } @@ -990,7 +913,6 @@ namespace FUNCTIONPARSERTYPES // ------------------------------------------------------------------------- // Comparison // ------------------------------------------------------------------------- -#ifdef FP_EPSILON template inline bool fp_equal(const Value_t& x, const Value_t& y) { return IsIntType::result @@ -1014,19 +936,7 @@ namespace FUNCTIONPARSERTYPES { return IsIntType::result ? (x <= y) : (x <= y + fp_epsilon()); } -#else // FP_EPSILON - template - inline bool fp_equal(const Value_t& x, const Value_t& y) { return x == y; } - - template - inline bool fp_nequal(const Value_t& x, const Value_t& y) { return x != y; } - template - inline bool fp_less(const Value_t& x, const Value_t& y) { return x < y; } - - template - inline bool fp_lessOrEq(const Value_t& x, const Value_t& y) { return x <= y; } -#endif // FP_EPSILON template inline bool fp_greater(const Value_t& x, const Value_t& y) @@ -1130,17 +1040,18 @@ namespace FUNCTIONPARSERTYPES } template - inline bool isEvenInteger(const Value_t& value) + inline long makeLongInteger(const Value_t& value) { - const Value_t halfValue = value * Value_t(0.5); - return fp_equal(halfValue, fp_floor(halfValue)); + return (long) fp_int(value); } - template - inline bool isInteger(const Value_t& value) +#ifdef FP_SUPPORT_COMPLEX_NUMBERS + template + inline long makeLongInteger(const std::complex& value) { - return fp_equal(value, fp_floor(value)); + return (long) fp_int( std::abs(value) ); } +#endif // Is value an integer that fits in "long" datatype? template @@ -1150,28 +1061,24 @@ namespace FUNCTIONPARSERTYPES } template - inline long makeLongInteger(const Value_t& value) + inline bool isOddInteger(const Value_t& value) { - return (long) fp_int(value); + const Value_t halfValue = (value + Value_t(1)) * Value_t(0.5); + return fp_equal(halfValue, fp_floor(halfValue)); } -#ifdef FP_SUPPORT_COMPLEX_FLOAT_TYPE - template<> - inline long makeLongInteger(const std::complex& value) - { return (long) fp_int( std::abs(value) ); } -#endif - -#ifdef FP_SUPPORT_COMPLEX_DOUBLE_TYPE - template<> - inline long makeLongInteger(const std::complex& value) - { return (long) fp_int( std::abs(value) ); } -#endif + template + inline bool isEvenInteger(const Value_t& value) + { + const Value_t halfValue = value * Value_t(0.5); + return fp_equal(halfValue, fp_floor(halfValue)); + } -#ifdef FP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE - template<> - inline long makeLongInteger(const std::complex& value) - { return (long) fp_int( std::abs(value) ); } -#endif + template + inline bool isInteger(const Value_t& value) + { + return fp_equal(value, fp_floor(value)); + } #ifdef FP_SUPPORT_LONG_INT_TYPE template<> @@ -1227,13 +1134,6 @@ namespace FUNCTIONPARSERTYPES } #endif - template - inline bool isOddInteger(const Value_t& value) - { - const Value_t halfValue = (value + Value_t(1)) * Value_t(0.5); - return fp_equal(halfValue, fp_floor(halfValue)); - } - #ifdef FP_SUPPORT_LONG_INT_TYPE template<> inline bool isOddInteger(const long& value) @@ -1257,6 +1157,65 @@ namespace FUNCTIONPARSERTYPES return value%2 != 0; } #endif + + +// ------------------------------------------------------------------------- +// fp_pow +// ------------------------------------------------------------------------- + // Commented versions in fparser.cc + template + inline Value_t fp_pow_with_exp_log(const Value_t& x, const Value_t& y) + { + return fp_exp(fp_log(x) * y); + } + + template + inline Value_t fp_powi(Value_t x, unsigned long y) + { + Value_t result(1); + while(y != 0) + { + if(y & 1) { result *= x; y -= 1; } + else { x *= x; y /= 2; } + } + return result; + } + + template + Value_t fp_pow(const Value_t& x, const Value_t& y) + { + if(x == Value_t(1)) return Value_t(1); + if(isLongInteger(y)) + { + if(y >= Value_t(0)) + return fp_powi(x, makeLongInteger(y)); + else + return Value_t(1) / fp_powi(x, -makeLongInteger(y)); + } + if(y >= Value_t(0)) + { + if(x > Value_t(0)) return fp_pow_with_exp_log(x, y); + if(x == Value_t(0)) return Value_t(0); + if(!isInteger(y*Value_t(16))) + return -fp_pow_with_exp_log(-x, y); + } + else + { + if(x > Value_t(0)) return fp_pow_with_exp_log(Value_t(1) / x, -y); + if(x < Value_t(0)) + { + if(!isInteger(y*Value_t(-16))) + return -fp_pow_with_exp_log(Value_t(-1) / x, -y); + } + } + return fp_pow_base(x, y); + } + + template + inline Value_t fp_exp2(const Value_t& x) + { + return fp_pow(Value_t(2), x); + } } // namespace FUNCTIONPARSERTYPES #endif // ONCE_FPARSER_H_ diff --git a/contrib/fparser/extrasrc/fptypes.hh b/contrib/fparser/extrasrc/fptypes.hh index 29ebef8..b0bfc57 100644 --- a/contrib/fparser/extrasrc/fptypes.hh +++ b/contrib/fparser/extrasrc/fptypes.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen, Joel Yliluoma *| |* *| @@ -16,7 +16,7 @@ #ifndef ONCE_FPARSER_TYPES_H_ #define ONCE_FPARSER_TYPES_H_ -#include "fpconfig.hh" +#include "../fpconfig.hh" #include #ifdef ONCE_FPARSER_H_ @@ -37,7 +37,6 @@ namespace FUNCTIONPARSERTYPES cCbrt, cCeil, cConj, /* get the complex conjugate of a complex value */ cCos, cCosh, cCot, cCsc, - cEval, cExp, cExp2, cFloor, cHypot, cIf, cImag, /* get imaginary part of a complex value */ @@ -68,6 +67,7 @@ namespace FUNCTIONPARSERTYPES cLog2by, /* log2by(x,y) = log2(x) * y */ #endif cNop, /* Used by fpoptimizer internally; should not occur in bytecode */ + cSinCos, /* sin(x) followed by cos(x) (two values are pushed to stack) */ cSinhCosh, /* hyperbolic equivalent of sincos */ cAbsAnd, /* As cAnd, but assume both operands are absolute values */ @@ -97,8 +97,7 @@ namespace FUNCTIONPARSERTYPES AngleIn = 0x02, AngleOut = 0x04, OkForInt = 0x08, - ComplexOnly = 0x10, - EvalOnly = 0x20 + ComplexOnly = 0x10 }; #ifdef FUNCTIONPARSER_SUPPORT_DEBUGGING @@ -111,7 +110,6 @@ namespace FUNCTIONPARSERTYPES inline bool okForInt() const { return (flags & OkForInt) != 0; } inline bool complexOnly() const { return (flags & ComplexOnly) != 0; } - inline bool evalOnly() const { return (flags & EvalOnly) != 0; } }; #ifdef FUNCTIONPARSER_SUPPORT_DEBUGGING @@ -140,7 +138,6 @@ namespace FUNCTIONPARSERTYPES /*cCosh */ { FP_FNAME("cosh"), 1, FuncDefinition::AngleIn }, /*cCot */ { FP_FNAME("cot"), 1, FuncDefinition::AngleIn }, /*cCsc */ { FP_FNAME("csc"), 1, FuncDefinition::AngleIn }, - /*cEval */ { FP_FNAME("eval"), 0, FuncDefinition::EvalOnly | FuncDefinition::OkForInt }, /*cExp */ { FP_FNAME("exp"), 1, 0 }, /*cExp2 */ { FP_FNAME("exp2"), 1, 0 }, /*cFloor*/ { FP_FNAME("floor"), 1, 0 }, @@ -228,7 +225,6 @@ struct FunctionParserBase::Data int mEvalErrorType; bool mUseDegreeConversion; bool mHasByteCodeFlags; - unsigned mEvalRecursionLevel; const char* mErrorLocation; unsigned mVariablesAmount; diff --git a/contrib/fparser/fparser.cc b/contrib/fparser/fparser.cc index f4eebac..77ffc69 100644 --- a/contrib/fparser/fparser.cc +++ b/contrib/fparser/fparser.cc @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen, Joel Yliluoma *| |* *| @@ -205,7 +205,6 @@ unsigned FUNCTIONPARSERTYPES::GetParamSwappedBinaryOpcode(unsigned op) template bool FUNCTIONPARSERTYPES::HasInvalidRangesOpcode(unsigned op) { -#ifndef FP_NO_EVALUATION_CHECKS // Returns true, if the given opcode has a range of // input values that gives an error. if(ComplexType) @@ -265,7 +264,6 @@ bool FUNCTIONPARSERTYPES::HasInvalidRangesOpcode(unsigned op) return true; } } -#endif return false; } @@ -424,15 +422,6 @@ namespace if( (value & 0x80000000U) != 0) // Function? { // Verify that the function actually exists for this datatype - #ifdef FP_DISABLE_EVAL - //if(!Functions[(value >> 16) & 0x7FFF].evalOnly()) - if( value == ((cEval << 16) | 0x80000004U) ) // faster test - { - // If it's cEval, return it as an identifier instead - //return value & 0xFFFFu; - return 4; - } - #endif if(IsIntType::result && !Functions[(value >> 16) & 0x7FFF].okForInt()) { @@ -467,7 +456,7 @@ namespace return std::strtod(str, endptr); } -#ifdef FP_USE_STRTOLD +#if defined(FP_USE_STRTOLD) || __cplusplus > 201100 template<> inline long double fp_parseLiteral(const char* str, char** endptr) @@ -728,7 +717,6 @@ FunctionParserBase::Data::Data(): mParseErrorType(NO_FUNCTION_PARSED_YET), mEvalErrorType(0), mUseDegreeConversion(false), - mEvalRecursionLevel(0), mErrorLocation(0), mVariablesAmount(0), mStackSize(0) @@ -741,7 +729,6 @@ FunctionParserBase::Data::Data(const Data& rhs): mParseErrorType(rhs.mParseErrorType), mEvalErrorType(rhs.mEvalErrorType), mUseDegreeConversion(rhs.mUseDegreeConversion), - mEvalRecursionLevel(rhs.mEvalRecursionLevel), mErrorLocation(rhs.mErrorLocation), mVariablesAmount(rhs.mVariablesAmount), mVariablesString(rhs.mVariablesString), @@ -927,6 +914,45 @@ void FunctionParserBase::ForceDeepCopy() //========================================================================= +// Epsilon +//========================================================================= +template<> double FunctionParserBase::sEpsilon = 1E-12; +template<> float FunctionParserBase::sEpsilon = 1E-5F; +template<> long double FunctionParserBase::sEpsilon = 1E-14L; +template<> long FunctionParserBase::sEpsilon = 0; + +template<> std::complex +FunctionParserBase >::sEpsilon = 1E-12; + +template<> std::complex +FunctionParserBase >::sEpsilon = 1E-5F; + +template<> std::complex +FunctionParserBase >::sEpsilon = 1E-14L; + +#ifdef FP_SUPPORT_MPFR_FLOAT_TYPE +template<> MpfrFloat +FunctionParserBase::sEpsilon(MpfrFloat::someEpsilon()); +#endif + +#ifdef FP_SUPPORT_GMP_INT_TYPE +template<> GmpInt FunctionParserBase::sEpsilon = 0; +#endif + +template +Value_t FunctionParserBase::epsilon() +{ + return sEpsilon; +} + +template +void FunctionParserBase::setEpsilon(Value_t value) +{ + sEpsilon = value; +} + + +//========================================================================= // User-defined identifier addition functions //========================================================================= template @@ -1502,12 +1528,6 @@ namespace #endif } -#ifdef FP_EPSILON - const double EpsilonOrZero = FP_EPSILON; -#else - const double EpsilonOrZero = 0.0; -#endif - /* Needed by fp_opcode_add.inc if tracing is enabled */ template std::string findName(const NamePtrsMap& nameMap, @@ -2009,10 +2029,6 @@ inline const char* FunctionParserBase::CompileFunction return CompileIf(function); unsigned requiredParams = funcDef.params; -#ifndef FP_DISABLE_EVAL - if(func_opcode == cEval) - requiredParams = mData->mVariablesAmount; -#endif function = CompileFunctionParams(function, requiredParams); if(!function) return 0; @@ -2634,27 +2650,21 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cAbs: Stack[SP] = fp_abs(Stack[SP]); break; case cAcos: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result == false && (Stack[SP] < Value_t(-1) || Stack[SP] > Value_t(1))) { mData->mEvalErrorType=4; return Value_t(0); } -# endif Stack[SP] = fp_acos(Stack[SP]); break; case cAcosh: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result == false && Stack[SP] < Value_t(1)) { mData->mEvalErrorType=4; return Value_t(0); } -# endif Stack[SP] = fp_acosh(Stack[SP]); break; case cAsin: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result == false && (Stack[SP] < Value_t(-1) || Stack[SP] > Value_t(1))) { mData->mEvalErrorType=4; return Value_t(0); } -# endif Stack[SP] = fp_asin(Stack[SP]); break; case cAsinh: Stack[SP] = fp_asinh(Stack[SP]); break; @@ -2665,12 +2675,10 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) --SP; break; case cAtanh: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result ? (Stack[SP] == Value_t(-1) || Stack[SP] == Value_t(1)) : (Stack[SP] <= Value_t(-1) || Stack[SP] >= Value_t(1))) { mData->mEvalErrorType=4; return Value_t(0); } -# endif Stack[SP] = fp_atanh(Stack[SP]); break; case cCbrt: Stack[SP] = fp_cbrt(Stack[SP]); break; @@ -2684,61 +2692,20 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cCot: { const Value_t t = fp_tan(Stack[SP]); -# ifndef FP_NO_EVALUATION_CHECKS if(t == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP] = Value_t(1)/t; break; } case cCsc: { const Value_t s = fp_sin(Stack[SP]); -# ifndef FP_NO_EVALUATION_CHECKS if(s == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP] = Value_t(1)/s; break; } -# ifndef FP_DISABLE_EVAL - case cEval: - { - const unsigned varAmount = mData->mVariablesAmount; - Value_t retVal = Value_t(0); - if(mData->mEvalRecursionLevel == FP_EVAL_MAX_REC_LEVEL) - { - mData->mEvalErrorType = 5; - } - else - { - ++mData->mEvalRecursionLevel; -# ifndef FP_USE_THREAD_SAFE_EVAL - /* Eval() will use mData->mStack for its storage. - * Swap the current stack with an empty one. - * This is the not-thread-safe method. - */ - std::vector tmpStack(Stack.size()); - mData->mStack.swap(tmpStack); - retVal = Eval(&tmpStack[SP - varAmount + 1]); - mData->mStack.swap(tmpStack); -# else - /* Thread safety mode. We don't need to - * worry about stack reusing here, because - * each instance of Eval() will allocate - * their own stack. - */ - retVal = Eval(&Stack[SP - varAmount + 1]); -# endif - --mData->mEvalRecursionLevel; - } - SP -= varAmount-1; - Stack[SP] = retVal; - break; - } -# endif - case cExp: Stack[SP] = fp_exp(Stack[SP]); break; case cExp2: Stack[SP] = fp_exp2(Stack[SP]); break; @@ -2763,31 +2730,25 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cInt: Stack[SP] = fp_int(Stack[SP]); break; case cLog: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result ? Stack[SP] == Value_t(0) : !(Stack[SP] > Value_t(0))) { mData->mEvalErrorType=3; return Value_t(0); } -# endif Stack[SP] = fp_log(Stack[SP]); break; case cLog10: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result ? Stack[SP] == Value_t(0) : !(Stack[SP] > Value_t(0))) { mData->mEvalErrorType=3; return Value_t(0); } -# endif Stack[SP] = fp_log10(Stack[SP]); break; case cLog2: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result ? Stack[SP] == Value_t(0) : !(Stack[SP] > Value_t(0))) { mData->mEvalErrorType=3; return Value_t(0); } -# endif Stack[SP] = fp_log2(Stack[SP]); break; @@ -2798,7 +2759,6 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) --SP; break; case cPow: -# ifndef FP_NO_EVALUATION_CHECKS // x:Negative ^ y:NonInteger is failure, // except when the reciprocal of y forms an integer /*if(IsComplexType::result == false @@ -2810,7 +2770,6 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) if(Stack[SP-1] == Value_t(0) && Stack[SP] < Value_t(0)) { mData->mEvalErrorType=3; return Value_t(0); } -# endif Stack[SP-1] = fp_pow(Stack[SP-1], Stack[SP]); --SP; break; @@ -2819,10 +2778,8 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cSec: { const Value_t c = fp_cos(Stack[SP]); -# ifndef FP_NO_EVALUATION_CHECKS if(c == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP] = Value_t(1)/c; break; } @@ -2831,11 +2788,9 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cSinh: Stack[SP] = fp_sinh(Stack[SP]); break; case cSqrt: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result == false && Stack[SP] < Value_t(0)) { mData->mEvalErrorType=2; return Value_t(0); } -# endif Stack[SP] = fp_sqrt(Stack[SP]); break; case cTan: Stack[SP] = fp_tan(Stack[SP]); break; @@ -2861,13 +2816,8 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cMul: Stack[SP-1] *= Stack[SP]; --SP; break; case cDiv: -# ifndef FP_NO_EVALUATION_CHECKS if(Stack[SP] == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# else - if(IsIntType::result && Stack[SP] == Value_t(0)) - { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP-1] /= Stack[SP]; --SP; break; case cMod: @@ -2969,12 +2919,10 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) } case cLog2by: -# ifndef FP_NO_EVALUATION_CHECKS if(IsComplexType::result ? Stack[SP-1] == Value_t(0) : !(Stack[SP-1] > Value_t(0))) { mData->mEvalErrorType=3; return Value_t(0); } -# endif Stack[SP-1] = fp_log2(Stack[SP-1]) * Stack[SP]; --SP; break; @@ -3015,13 +2963,8 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) case cDup: Stack[SP+1] = Stack[SP]; ++SP; break; case cInv: -# ifndef FP_NO_EVALUATION_CHECKS if(Stack[SP] == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# else - if(IsIntType::result && Stack[SP] == Value_t(0)) - { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP] = Value_t(1)/Stack[SP]; break; @@ -3030,22 +2973,15 @@ Value_t FunctionParserBase::Eval(const Value_t* Vars) break; case cRDiv: -# ifndef FP_NO_EVALUATION_CHECKS if(Stack[SP-1] == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# else - if(IsIntType::result && Stack[SP-1] == Value_t(0)) - { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP-1] = Stack[SP] / Stack[SP-1]; --SP; break; case cRSub: Stack[SP-1] = Stack[SP] - Stack[SP-1]; --SP; break; case cRSqrt: -# ifndef FP_NO_EVALUATION_CHECKS if(Stack[SP] == Value_t(0)) { mData->mEvalErrorType=1; return Value_t(0); } -# endif Stack[SP] = Value_t(1) / fp_sqrt(Stack[SP]); break; #ifdef FP_SUPPORT_COMPLEX_NUMBERS @@ -3651,10 +3587,6 @@ void FunctionParserBase::PrintByteCode(std::ostream& dest, case cDeg: n = "deg"; params = 1; break; case cRad: n = "rad"; params = 1; break; - #ifndef FP_DISABLE_EVAL - case cEval: n = "eval"; params = mData->mVariablesAmount; break; - #endif - case cFetch: { unsigned index = ByteCode[++IP]; diff --git a/contrib/fparser/fparser.hh b/contrib/fparser/fparser.hh index 2d44405..b2959a8 100644 --- a/contrib/fparser/fparser.hh +++ b/contrib/fparser/fparser.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen, Joel Yliluoma *| |* *| @@ -50,6 +50,9 @@ class FunctionParserBase void setDelimiterChar(char); + static Value_t epsilon(); + static void setEpsilon(Value_t); + const char* ErrorMsg() const; ParseErrorType GetParseErrorType() const; @@ -135,6 +138,7 @@ class FunctionParserBase // ------------ Data* mData; unsigned mStackPtr; + static Value_t sEpsilon; // Private methods: diff --git a/contrib/fparser/fparser_gmpint.hh b/contrib/fparser/fparser_gmpint.hh index 39f4f3c..fdb4450 100644 --- a/contrib/fparser/fparser_gmpint.hh +++ b/contrib/fparser/fparser_gmpint.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen *| \***************************************************************************/ diff --git a/contrib/fparser/fparser_mpfr.hh b/contrib/fparser/fparser_mpfr.hh index 4e4f0d5..443ec96 100644 --- a/contrib/fparser/fparser_mpfr.hh +++ b/contrib/fparser/fparser_mpfr.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen *| \***************************************************************************/ diff --git a/contrib/fparser/fpconfig.hh b/contrib/fparser/fpconfig.hh index 8647909..e729a12 100644 --- a/contrib/fparser/fpconfig.hh +++ b/contrib/fparser/fpconfig.hh @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Copyright: Juha Nieminen *| |* *| @@ -40,7 +40,7 @@ //#define FP_USE_STRTOLD -/* Uncomment this line of define it in your compiler settings if you want +/* Uncomment this line or define it in your compiler settings if you want to disable compiling the basic double version of the library, in case one of the above types is used but not the double type. (If the double type is not used, then disabling it makes compiling faster and the @@ -49,45 +49,6 @@ //#define FP_DISABLE_DOUBLE_TYPE /* - Note that these do not change what FunctionParser supports, they only - change how the function is evaluated, potentially making it faster when - these functions are involved. - These will make the source code use asinh(), acosh(), atanh(), exp2() - and log2(). -*/ -//#define FP_SUPPORT_TR1_MATH_FUNCS - -#ifdef FP_SUPPORT_TR1_MATH_FUNCS -#define FP_SUPPORT_ASINH -#define FP_SUPPORT_EXP2 -#define FP_SUPPORT_LOG2 -#define FP_SUPPORT_CBRT -#define FP_SUPPORT_HYPOT -#endif - -/* - Comment out the following line to enable the eval() function, which can - be used in the function string to recursively call the same function. - Note that enabling this function may be dangerous even if the maximum - recursion level is limited because it is still possible to write functions - using it which take enormous amounts of time to evaluate even though the - maximum recursion is never reached. This may be undesirable in some - applications. - Alternatively you can define the FP_ENABLE_EVAL precompiler constant in - your compiler settings. -*/ -#ifndef FP_ENABLE_EVAL -#define FP_DISABLE_EVAL -#endif - - -/* - Maximum recursion level for eval() calls: -*/ -#define FP_EVAL_MAX_REC_LEVEL 1000 - - -/* Whether to use shortcut evaluation for the & and | operators: */ #ifndef FP_DISABLE_SHORTCUT_LOGICAL_EVALUATION @@ -95,15 +56,6 @@ #endif /* - Whether to enable optimizations that may ignore side effects - of if() calls, such as changing if(x,!y,0) into x&!y. - This is basically the polar opposite of "shortcut logical evaluation". - Disabled by default, because it makes eval() rather unsafe. -*/ -#ifdef FP_ENABLE_IGNORE_IF_SIDEEFFECTS -#endif - -/* Comment out the following lines out if you are not going to use the optimizer and want a slightly smaller library. The Optimize() method can still be called, but it will not do anything. @@ -120,15 +72,6 @@ /* - Epsilon value used with the comparison operators (must be non-negative): - (Comment it out if you don't want to use epsilon in comparisons. Might - lead to marginally faster evaluation of the comparison operators, but - can introduce inaccuracies in comparisons.) -*/ -#define FP_EPSILON 1e-14 - - -/* No member function of FunctionParser is thread-safe. Most prominently, Eval() is not thread-safe. By uncommenting one of these lines the Eval() function can be made thread-safe at the cost of a possible small overhead. @@ -137,9 +80,3 @@ */ //#define FP_USE_THREAD_SAFE_EVAL //#define FP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA - -/* - Uncomment (or define in your compiler options) to disable evaluation checks. - (Consult the documentation for details.) - */ -//#define FP_NO_EVALUATION_CHECKS diff --git a/contrib/fparser/fpoptimizer/bytecodesynth.cc b/contrib/fparser/fpoptimizer/bytecodesynth.cc index f5073c0..7451dfb 100644 --- a/contrib/fparser/fpoptimizer/bytecodesynth.cc +++ b/contrib/fparser/fpoptimizer/bytecodesynth.cc @@ -620,7 +620,7 @@ namespace FPoptimizer_ByteCode namespace FPoptimizer_ByteCode { #define FP_INSTANTIATE(type) \ - template struct SequenceOpcodes; \ + template class SequenceOpcodes; \ template void ByteCodeSynth::AddFunctionOpcode(unsigned); \ template void ByteCodeSynth::AddFunctionOpcode(unsigned, \ Specializer< bool(FUNCTIONPARSERTYPES::IsIntType::result), \ diff --git a/contrib/fparser/fpoptimizer/codetree.cc b/contrib/fparser/fpoptimizer/codetree.cc index 5710db7..f971b6c 100644 --- a/contrib/fparser/fpoptimizer/codetree.cc +++ b/contrib/fparser/fpoptimizer/codetree.cc @@ -446,7 +446,7 @@ namespace FPoptimizer_CodeTree { #define FP_INSTANTIATE(type) \ template class CodeTree; \ - template struct CodeTreeData; + template class CodeTreeData; FPOPTIMIZER_EXPLICITLY_INSTANTIATE(FP_INSTANTIATE) #undef FP_INSTANTIATE } diff --git a/contrib/fparser/fpoptimizer/constantfolding.cc b/contrib/fparser/fpoptimizer/constantfolding.cc index 773bd7b..e3f24df 100644 --- a/contrib/fparser/fpoptimizer/constantfolding.cc +++ b/contrib/fparser/fpoptimizer/constantfolding.cc @@ -915,7 +915,6 @@ namespace FPoptimizer_CodeTree /* Opcodes that we can't do anything about */ case cPCall: case cFCall: - case cEval: break; } do_return:; diff --git a/contrib/fparser/fpoptimizer/consts.hh b/contrib/fparser/fpoptimizer/consts.hh index 0333838..4cb8e19 100644 --- a/contrib/fparser/fpoptimizer/consts.hh +++ b/contrib/fparser/fpoptimizer/consts.hh @@ -47,10 +47,6 @@ namespace FUNCTIONPARSERTYPES template inline Value_t fp_const_negativezero() { -#ifdef FP_EPSILON return -fp_epsilon(); -#else - return Value_t(-1e-14); -#endif } } diff --git a/contrib/fparser/fpoptimizer/fpoptimizer_header.txt b/contrib/fparser/fpoptimizer/fpoptimizer_header.txt index ca9c42f..b6679ac 100644 --- a/contrib/fparser/fpoptimizer/fpoptimizer_header.txt +++ b/contrib/fparser/fpoptimizer/fpoptimizer_header.txt @@ -1,5 +1,5 @@ /***************************************************************************\ -|* Function Parser for C++ v4.4.3 *| +|* Function Parser for C++ v4.5 *| |*-------------------------------------------------------------------------*| |* Function optimizer *| |*-------------------------------------------------------------------------*| diff --git a/contrib/fparser/fpoptimizer/grammar.cc b/contrib/fparser/fpoptimizer/grammar.cc index 9ab28e2..86c5ab3 100644 --- a/contrib/fparser/fpoptimizer/grammar.cc +++ b/contrib/fparser/fpoptimizer/grammar.cc @@ -147,6 +147,7 @@ namespace FPoptimizer_Grammar { #define FP_INSTANTIATE(type) \ template void DumpParams(unsigned, unsigned, std::ostream& ); \ + template void DumpParam(const ParamSpec&, std::ostream& ); FPOPTIMIZER_EXPLICITLY_INSTANTIATE(FP_INSTANTIATE) #undef FP_INSTANTIATE } diff --git a/contrib/fparser/fpoptimizer/grammar.hh b/contrib/fparser/fpoptimizer/grammar.hh index 143fc9f..8c1e1ea 100644 --- a/contrib/fparser/fpoptimizer/grammar.hh +++ b/contrib/fparser/fpoptimizer/grammar.hh @@ -235,6 +235,7 @@ namespace FPoptimizer_Grammar extern const Grammar grammar_optimize_round2; extern const Grammar grammar_optimize_round3; extern const Grammar grammar_optimize_round4; + extern const Grammar grammar_optimize_recreate; extern const Grammar grammar_optimize_shortcut_logical_evaluation; extern const Grammar grammar_optimize_nonshortcut_logical_evaluation; extern const Grammar grammar_optimize_ignore_if_sideeffects; diff --git a/contrib/fparser/fpoptimizer/makebytecode.cc b/contrib/fparser/fpoptimizer/makebytecode.cc index 4f94ab3..40e9fe8 100644 --- a/contrib/fparser/fpoptimizer/makebytecode.cc +++ b/contrib/fparser/fpoptimizer/makebytecode.cc @@ -8,6 +8,8 @@ #include "optimize.hh" #include "bytecodesynth.hh" +//#include "grammar.hh" + #ifdef FP_SUPPORT_OPTIMIZER using namespace FUNCTIONPARSERTYPES; @@ -96,6 +98,13 @@ namespace FPoptimizer_CodeTree DumpTreeWithIndent(*this); #endif FixIncompleteHashes(); + + using namespace FPoptimizer_Optimize; + using namespace FPoptimizer_Grammar; + const void* g = (const void*)&grammar_optimize_recreate; + while(ApplyGrammar(*(const Grammar*)g, *this)) + { FixIncompleteHashes(); + } } #ifdef DEBUG_SUBSTITUTIONS std::cout << "Actually synthesizing, after recreating inv/neg:\n"; diff --git a/contrib/fparser/fpoptimizer/opcodename.cc b/contrib/fparser/fpoptimizer/opcodename.cc index d710e28..c02f97b 100644 --- a/contrib/fparser/fpoptimizer/opcodename.cc +++ b/contrib/fparser/fpoptimizer/opcodename.cc @@ -62,7 +62,6 @@ const std::string FP_GetOpcodeName(FUNCTIONPARSERTYPES::OPCODE opcode, bo case cCosh: p = "cCosh"; break; case cCot: p = "cCot"; break; case cCsc: p = "cCsc"; break; - case cEval: p = "cEval"; break; case cExp: p = "cExp"; break; case cExp2: p = "cExp2"; break; case cFloor: p = "cFloor"; break; @@ -106,12 +105,12 @@ const std::string FP_GetOpcodeName(FUNCTIONPARSERTYPES::OPCODE opcode, bo case cRad: p = "cRad"; break; case cFCall: p = "cFCall"; break; case cPCall: p = "cPCall"; break; - case cFetch: p = "cFetch"; break; #ifdef FP_SUPPORT_OPTIMIZER + case cFetch: p = "cFetch"; break; case cPopNMov: p = "cPopNMov"; break; case cLog2by: p = "cLog2by"; break; -#endif case cNop: p = "cNop"; break; +#endif case cSinCos: p = "cSinCos"; break; case cSinhCosh: p = "cSinhCosh"; break; case cAbsNot: p = "cAbsNot"; break; diff --git a/contrib/fparser/fpoptimizer/rangeestimation.cc b/contrib/fparser/fpoptimizer/rangeestimation.cc index ce6e4dc..3af0550 100644 --- a/contrib/fparser/fpoptimizer/rangeestimation.cc +++ b/contrib/fparser/fpoptimizer/rangeestimation.cc @@ -834,8 +834,6 @@ namespace FPoptimizer_CodeTree break; case cFCall: break; // Cannot deduce - case cEval: - break; // Cannot deduce } return range(); /* Cannot deduce */ } diff --git a/contrib/fparser/fpoptimizer/rangeestimation.hh b/contrib/fparser/fpoptimizer/rangeestimation.hh index fda5162..9bb82a3 100644 --- a/contrib/fparser/fpoptimizer/rangeestimation.hh +++ b/contrib/fparser/fpoptimizer/rangeestimation.hh @@ -26,8 +26,8 @@ namespace FPoptimizer_CodeTree { if(!tree.IsImmed()) return Unknown; const Value_t& value = tree.GetImmed(); - if(FUNCTIONPARSERTYPES::isEvenInteger(value)) return IsAlways; - if(FUNCTIONPARSERTYPES::isOddInteger(value)) return IsNever; + if(isEvenInteger(value)) return IsAlways; + if(isOddInteger(value)) return IsNever; return Unknown; } diff --git a/contrib/fparser/fpoptimizer/readbytecode.cc b/contrib/fparser/fpoptimizer/readbytecode.cc index 794122a..1b79c1a 100644 --- a/contrib/fparser/fpoptimizer/readbytecode.cc +++ b/contrib/fparser/fpoptimizer/readbytecode.cc @@ -731,15 +731,6 @@ namespace FPoptimizer_CodeTree sim.PopNMov(stackOffs_target, stackOffs_source); break; } - // Other functions -#ifndef FP_DISABLE_EVAL - case cEval: - { - size_t paramcount = fpdata.mVariablesAmount; - sim.Eat(paramcount, OPCODE(opcode)); - break; - } -#endif default: default_function_handling:; diff --git a/contrib/fparser/fpoptimizer/transformations.cc b/contrib/fparser/fpoptimizer/transformations.cc index ed248fc..f45fbfd 100644 --- a/contrib/fparser/fpoptimizer/transformations.cc +++ b/contrib/fparser/fpoptimizer/transformations.cc @@ -11,7 +11,7 @@ using namespace FUNCTIONPARSERTYPES; //#define DEBUG_POWI -#if defined(__x86_64) || !defined(FP_SUPPORT_CBRT) +#if defined(__x86_64) || __cplusplus < 201100 # define CBRT_IS_SLOW #endif diff --git a/contrib/fparser/fpoptimizer/treerules.dat b/contrib/fparser/fpoptimizer/treerules.dat index 1d8febf..5696c62 100644 --- a/contrib/fparser/fpoptimizer/treerules.dat +++ b/contrib/fparser/fpoptimizer/treerules.dat @@ -871,6 +871,9 @@ cMul (cAdd %@M <1>) & : (cAdd *(% &) (cMul & (cAdd <1>))) # TEST 20/addcons @F cPow [ (cAdd {( cPow [x %@E] ) (cMul {z@C (cPow [y &@E])})} ) 0.5 ] -> (cHypot [(cPow [ x *(% 0.5)]) (cPow [(cMul y POW(z@C /&)) *(& 0.5)])]) @F cPow [ (cAdd {(cMul {a@C (cPow [x %@E])}) (cMul {z@C (cPow [y &@E])})} ) 0.5 ] -> (cHypot [(cPow [(cMul x POW(a@C /%)) *(% 0.5)]) (cPow [(cMul y POW(z@C /&)) *(& 0.5)])]) +@F cMul (cExp[x]) (cExp[y]) : (cExp[(cAdd x y)]) # TEST 20/expexp_a 20/expexp_b 20/expexp_c +@F cMul (cExp2[x]) (cExp2[y]) : (cExp2[(cAdd x y)]) # TEST 20/expexp_a 20/expexp_b 20/expexp_c + [ABS_LOGICAL] @R cNot [x@P] -> cAbsNot [x] # TEST 20/posnot @@ -977,6 +980,10 @@ REGENERATE_TANH $optimize_round4: REGENERATE_HIGHLEVEL_OPCODES +$optimize_recreate: +REGENERATE_HIGHLEVEL_OPCODES +BINOMIAL + $optimize_ignore_if_sideeffects IGNORE_IF_SIDEEFFECTS LOGICAL diff --git a/contrib/fparser/run_full_release_testing.sh b/contrib/fparser/run_full_release_testing.sh index f36a821..37ce45d 100755 --- a/contrib/fparser/run_full_release_testing.sh +++ b/contrib/fparser/run_full_release_testing.sh @@ -12,15 +12,13 @@ runTest() if [ "$?" -ne "0" ]; then exit 1; fi } +#runTest "-DFP_SUPPORT_LONG_DOUBLE_TYPE -DFP_DISABLE_DOUBLE_TYPE" runTest "-D_GLIBCXX_DEBUG" -runTest "-D_GLIBCXX_DEBUG -DFP_ENABLE_EVAL" -skipSlowAlgo -runTest "-D_GLIBCXX_DEBUG -DFP_ENABLE_EVAL -DFP_SUPPORT_TR1_MATH_FUNCS" -skipSlowAlgo -runTest "-D_GLIBCXX_DEBUG -DFP_ENABLE_EVAL -DFP_SUPPORT_TR1_MATH_FUNCS -DFP_NO_EVALUATION_CHECKS" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_NO_SUPPORT_OPTIMIZER" -skipSlowAlgo -runTest "-D_GLIBCXX_DEBUG -DFP_ENABLE_EVAL -DFP_SUPPORT_TR1_MATH_FUNCS -DFP_NO_SUPPORT_OPTIMIZER" -skipSlowAlgo +runTest "-D_GLIBCXX_DEBUG -DFP_NO_SUPPORT_OPTIMIZER" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_USE_THREAD_SAFE_EVAL" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA" -skipSlowAlgo -runTest "-D_GLIBCXX_DEBUG -DFP_ENABLE_EVAL -DFP_SUPPORT_TR1_MATH_FUNCS -DFP_NO_SUPPORT_OPTIMIZER -DFP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA -DFP_NO_EVALUATION_CHECKS" -skipSlowAlgo +runTest "-D_GLIBCXX_DEBUG -DFP_NO_SUPPORT_OPTIMIZER -DFP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_FLOAT_TYPE" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_LONG_DOUBLE_TYPE -DFP_USE_STRTOLD" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_LONG_INT_TYPE" -skipSlowAlgo @@ -29,6 +27,6 @@ runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_GMP_INT_TYPE" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_COMPLEX_DOUBLE_TYPE" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_COMPLEX_FLOAT_TYPE" -skipSlowAlgo runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE -DFP_USE_STRTOLD" -skipSlowAlgo -runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_FLOAT_TYPE -DFP_SUPPORT_LONG_DOUBLE_TYPE -DFP_SUPPORT_LONG_INT_TYPE -DFP_SUPPORT_MPFR_FLOAT_TYPE -DFP_SUPPORT_GMP_INT_TYPE -DFP_SUPPORT_COMPLEX_DOUBLE_TYPE -DFP_SUPPORT_COMPLEX_FLOAT_TYPE -DFP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE -DFP_ENABLE_EVAL -DFP_SUPPORT_TR1_MATH_FUNCS" -skipSlowAlgo +runTest "-D_GLIBCXX_DEBUG -DFP_SUPPORT_FLOAT_TYPE -DFP_SUPPORT_LONG_DOUBLE_TYPE -DFP_SUPPORT_LONG_INT_TYPE -DFP_SUPPORT_MPFR_FLOAT_TYPE -DFP_SUPPORT_GMP_INT_TYPE -DFP_SUPPORT_COMPLEX_DOUBLE_TYPE -DFP_SUPPORT_COMPLEX_FLOAT_TYPE -DFP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE" -skipSlowAlgo make -s release_clean diff --git a/contrib/fparser/testbed.cc b/contrib/fparser/testbed.cc index a4e5bd8..9d22d8b 100644 --- a/contrib/fparser/testbed.cc +++ b/contrib/fparser/testbed.cc @@ -7,7 +7,7 @@ See gpl.txt for the license text. ============================================================================*/ -static const char* const kVersionNumber = "2.2.3.11"; +static const char* const kVersionNumber = "2.3.0.12"; #include "fpconfig.hh" #include "fparser.hh" @@ -35,6 +35,21 @@ static const char* const kVersionNumber = "2.2.3.11"; #define StringifyHlp(x) #x #define Stringify(x) StringifyHlp(x) +#ifndef FP_DISABLE_DOUBLE_TYPE +typedef FunctionParser DefaultParser; +#elif defined(FP_SUPPORT_LONG_DOUBLE_TYPE) +typedef FunctionParser_ld DefaultParser; +#elif defined(FP_SUPPORT_FLOAT_TYPE) +typedef FunctionParser_f DefaultParser; +#elif defined(FP_SUPPORT_MPFR_FLOAT_TYPE) +typedef FunctionParser_mpfr DefaultParser; +#else +#error "FunctionParserBase was disabled and no viable floating point alternative has been defined" +#endif + +typedef DefaultParser::value_type DefaultValue_t; + + namespace { /* Verbosity level: @@ -167,11 +182,11 @@ namespace //========================================================================= // Copying testing functions //========================================================================= -bool TestCopyingNoDeepCopy(FunctionParser p) +bool TestCopyingNoDeepCopy(DefaultParser p) { - double vars[2] = { 3, 5 }; + DefaultValue_t vars[2] = { 3, 5 }; - if(std::fabs(p.Eval(vars) - 13) > Epsilon()) + if(std::fabs(p.Eval(vars) - 13) > Epsilon()) { if(verbosityLevel >= 2) { @@ -187,13 +202,13 @@ bool TestCopyingNoDeepCopy(FunctionParser p) return true; } -bool TestCopyingDeepCopy(FunctionParser p) +bool TestCopyingDeepCopy(DefaultParser p) { - double vars[2] = { 3, 5 }; + DefaultValue_t vars[2] = { 3, 5 }; p.Parse("x*y-1", "x,y"); - if(std::fabs(p.Eval(vars) - 14) > Epsilon()) + if(std::fabs(p.Eval(vars) - 14) > Epsilon()) { if(verbosityLevel >= 2) { @@ -212,13 +227,14 @@ bool TestCopyingDeepCopy(FunctionParser p) int TestCopying() { bool retval = true; - double vars[2] = { 2, 5 }; + DefaultValue_t vars[2] = { 2, 5 }; + const DefaultValue_t epsilon = Epsilon(); - FunctionParser p1, p3; + DefaultParser p1, p3; p1.Parse("x*y-2", "x,y"); - FunctionParser p2(p1); - if(std::fabs(p2.Eval(vars) - 8) > Epsilon()) + DefaultParser p2(p1); + if(std::fabs(p2.Eval(vars) - 8) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -232,7 +248,7 @@ int TestCopying() } p2.Parse("x*y-1", "x,y"); - if(std::fabs(p2.Eval(vars) - 9) > Epsilon()) + if(std::fabs(p2.Eval(vars) - 9) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -246,7 +262,7 @@ int TestCopying() } p3 = p1; - if(std::fabs(p3.Eval(vars) - 8) > Epsilon()) + if(std::fabs(p3.Eval(vars) - 8) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -260,7 +276,7 @@ int TestCopying() } p3.Parse("x*y-1", "x,y"); - if(std::fabs(p3.Eval(vars) - 9) > Epsilon()) + if(std::fabs(p3.Eval(vars) - 9) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -277,7 +293,7 @@ int TestCopying() retval = false; // Final test to check that p1 still works: - if(std::fabs(p1.Eval(vars) - 8) > Epsilon()) + if(std::fabs(p1.Eval(vars) - 8) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -288,7 +304,7 @@ int TestCopying() retval = false; // Final test to check that p1 still works: - if(std::fabs(p1.Eval(vars) - 8) > Epsilon()) + if(std::fabs(p1.Eval(vars) - 8) > epsilon) { retval = false; if(verbosityLevel >= 2) @@ -310,83 +326,81 @@ int TestCopying() int TestErrorSituations() { bool retval = true; - FunctionParser fp, tmpfp; + DefaultParser fp, tmpfp; fp.AddUnit("unit", 2); - fp.AddFunction("Value", userDefFuncValue, 0); - fp.AddFunction("Sqr", userDefFuncSqr, 1); - fp.AddFunctionWrapper - ("Sub", UserDefFuncWrapper(userDefFuncSub), 2); + fp.AddFunction("Value", userDefFuncValue, 0); + fp.AddFunction("Sqr", userDefFuncSqr, 1); + fp.AddFunctionWrapper("Sub", UserDefFuncWrapper + (userDefFuncSub), 2); tmpfp.Parse("0", "x"); static const struct { - FunctionParser::ParseErrorType expected_error; + DefaultParser::ParseErrorType expected_error; int expected_error_position; const char* function_string; } invalidFuncs[] = { - { FunctionParser::MISSING_PARENTH, 5, "sin(x"}, - { FunctionParser::EXPECT_PARENTH_FUNC, 4, "sin x"}, - { FunctionParser::SYNTAX_ERROR, 2, "x+" }, - { FunctionParser::EXPECT_OPERATOR, 2, "x x"}, - { FunctionParser::UNKNOWN_IDENTIFIER, 4, "sin(y)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 5, "sin(x, 1)" }, - { FunctionParser::EXPECT_OPERATOR, 1, "x, x"}, - { FunctionParser::SYNTAX_ERROR, 2, "x^^2" }, - { FunctionParser::SYNTAX_ERROR, 2, "x**x" }, - { FunctionParser::SYNTAX_ERROR, 2, "x+*x" }, - { FunctionParser::SYNTAX_ERROR, 0, "unit" }, - { FunctionParser::SYNTAX_ERROR, 0, "unit x" }, - { FunctionParser::SYNTAX_ERROR, 2, "x*unit" }, - { FunctionParser::SYNTAX_ERROR, 0, "unit*unit" }, - { FunctionParser::SYNTAX_ERROR, 0, "unit unit" }, - { FunctionParser::EXPECT_OPERATOR, 1, "x(unit)"}, - { FunctionParser::SYNTAX_ERROR, 2, "x+unit" }, - { FunctionParser::SYNTAX_ERROR, 2, "x*unit" }, - { FunctionParser::EMPTY_PARENTH, 1, "()"}, - { FunctionParser::SYNTAX_ERROR, 0, "" }, - { FunctionParser::EXPECT_OPERATOR, 1, "x()"}, - { FunctionParser::EMPTY_PARENTH, 3, "x*()"}, - { FunctionParser::SYNTAX_ERROR, 4, "sin(unit)" }, - { FunctionParser::EXPECT_PARENTH_FUNC, 4, "sin unit"}, - { FunctionParser::EXPECT_OPERATOR, 2, "1..2"}, - { FunctionParser::SYNTAX_ERROR, 1, "(" }, - { FunctionParser::MISM_PARENTH, 0, ")"}, - { FunctionParser::MISSING_PARENTH, 2, "(x"}, - { FunctionParser::EXPECT_OPERATOR, 1, "x)"}, - { FunctionParser::MISM_PARENTH, 0, ")x("}, - { FunctionParser::MISSING_PARENTH, 14,"(((((((x))))))"}, - { FunctionParser::EXPECT_OPERATOR, 15,"(((((((x))))))))"}, - { FunctionParser::EXPECT_OPERATOR, 1, "2x"}, - { FunctionParser::EXPECT_OPERATOR, 3, "(2)x"}, - { FunctionParser::EXPECT_OPERATOR, 3, "(x)2"}, - { FunctionParser::EXPECT_OPERATOR, 1, "2(x)"}, - { FunctionParser::EXPECT_OPERATOR, 1, "x(2)"}, - { FunctionParser::SYNTAX_ERROR, 0, "[x]" }, - { FunctionParser::SYNTAX_ERROR, 0, "@x" }, - { FunctionParser::SYNTAX_ERROR, 0, "$x" }, - { FunctionParser::SYNTAX_ERROR, 0, "{x}" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 5, "max(x)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 8, "max(x, 1, 2)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 6, "if(x,2)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 10,"if(x, 2, 3, 4)" }, - { FunctionParser::MISSING_PARENTH, 6, "Value(x)"}, - { FunctionParser::MISSING_PARENTH, 6, "Value(1+x)"}, - { FunctionParser::MISSING_PARENTH, 6, "Value(1,x)"}, + { DefaultParser::MISSING_PARENTH, 5, "sin(x"}, + { DefaultParser::EXPECT_PARENTH_FUNC, 4, "sin x"}, + { DefaultParser::SYNTAX_ERROR, 2, "x+" }, + { DefaultParser::EXPECT_OPERATOR, 2, "x x"}, + { DefaultParser::UNKNOWN_IDENTIFIER, 4, "sin(y)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 5, "sin(x, 1)" }, + { DefaultParser::EXPECT_OPERATOR, 1, "x, x"}, + { DefaultParser::SYNTAX_ERROR, 2, "x^^2" }, + { DefaultParser::SYNTAX_ERROR, 2, "x**x" }, + { DefaultParser::SYNTAX_ERROR, 2, "x+*x" }, + { DefaultParser::SYNTAX_ERROR, 0, "unit" }, + { DefaultParser::SYNTAX_ERROR, 0, "unit x" }, + { DefaultParser::SYNTAX_ERROR, 2, "x*unit" }, + { DefaultParser::SYNTAX_ERROR, 0, "unit*unit" }, + { DefaultParser::SYNTAX_ERROR, 0, "unit unit" }, + { DefaultParser::EXPECT_OPERATOR, 1, "x(unit)"}, + { DefaultParser::SYNTAX_ERROR, 2, "x+unit" }, + { DefaultParser::SYNTAX_ERROR, 2, "x*unit" }, + { DefaultParser::EMPTY_PARENTH, 1, "()"}, + { DefaultParser::SYNTAX_ERROR, 0, "" }, + { DefaultParser::EXPECT_OPERATOR, 1, "x()"}, + { DefaultParser::EMPTY_PARENTH, 3, "x*()"}, + { DefaultParser::SYNTAX_ERROR, 4, "sin(unit)" }, + { DefaultParser::EXPECT_PARENTH_FUNC, 4, "sin unit"}, + { DefaultParser::EXPECT_OPERATOR, 2, "1..2"}, + { DefaultParser::SYNTAX_ERROR, 1, "(" }, + { DefaultParser::MISM_PARENTH, 0, ")"}, + { DefaultParser::MISSING_PARENTH, 2, "(x"}, + { DefaultParser::EXPECT_OPERATOR, 1, "x)"}, + { DefaultParser::MISM_PARENTH, 0, ")x("}, + { DefaultParser::MISSING_PARENTH, 14,"(((((((x))))))"}, + { DefaultParser::EXPECT_OPERATOR, 15,"(((((((x))))))))"}, + { DefaultParser::EXPECT_OPERATOR, 1, "2x"}, + { DefaultParser::EXPECT_OPERATOR, 3, "(2)x"}, + { DefaultParser::EXPECT_OPERATOR, 3, "(x)2"}, + { DefaultParser::EXPECT_OPERATOR, 1, "2(x)"}, + { DefaultParser::EXPECT_OPERATOR, 1, "x(2)"}, + { DefaultParser::SYNTAX_ERROR, 0, "[x]" }, + { DefaultParser::SYNTAX_ERROR, 0, "@x" }, + { DefaultParser::SYNTAX_ERROR, 0, "$x" }, + { DefaultParser::SYNTAX_ERROR, 0, "{x}" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 5, "max(x)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 8, "max(x, 1, 2)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 6, "if(x,2)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 10,"if(x, 2, 3, 4)" }, + { DefaultParser::MISSING_PARENTH, 6, "Value(x)"}, + { DefaultParser::MISSING_PARENTH, 6, "Value(1+x)"}, + { DefaultParser::MISSING_PARENTH, 6, "Value(1,x)"}, // Note: ^should these three not return ILL_PARAMS_AMOUNT instead? - { FunctionParser::ILL_PARAMS_AMOUNT, 4, "Sqr()"}, - { FunctionParser::ILL_PARAMS_AMOUNT, 5, "Sqr(x,1)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 5, "Sqr(1,2,x)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 4, "Sub()" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 5, "Sub(x)" }, - { FunctionParser::ILL_PARAMS_AMOUNT, 7, "Sub(x,1,2)" }, - { FunctionParser::UNKNOWN_IDENTIFIER, 2, "x+Sin(1)" }, - { FunctionParser::UNKNOWN_IDENTIFIER, 0, "sub(1,2)" }, - { FunctionParser::UNKNOWN_IDENTIFIER, 0, "sinx(1)" }, - { FunctionParser::UNKNOWN_IDENTIFIER, 2, "1+X" }, -#ifdef FP_DISABLE_EVAL - { FunctionParser::UNKNOWN_IDENTIFIER, 0, "eval(x)" } -#endif + { DefaultParser::ILL_PARAMS_AMOUNT, 4, "Sqr()"}, + { DefaultParser::ILL_PARAMS_AMOUNT, 5, "Sqr(x,1)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 5, "Sqr(1,2,x)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 4, "Sub()" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 5, "Sub(x)" }, + { DefaultParser::ILL_PARAMS_AMOUNT, 7, "Sub(x,1,2)" }, + { DefaultParser::UNKNOWN_IDENTIFIER, 2, "x+Sin(1)" }, + { DefaultParser::UNKNOWN_IDENTIFIER, 0, "sub(1,2)" }, + { DefaultParser::UNKNOWN_IDENTIFIER, 0, "sinx(1)" }, + { DefaultParser::UNKNOWN_IDENTIFIER, 2, "1+X" }, + { DefaultParser::UNKNOWN_IDENTIFIER, 0, "eval(x)" } }; const unsigned amnt = sizeof(invalidFuncs)/sizeof(invalidFuncs[0]); for(unsigned i = 0; i < amnt; ++i) @@ -442,7 +456,7 @@ int TestErrorSituations() std::cout << "\n - Adding an invalid name (\"" << n << "\") as constant didn't fail" << std::endl; } - if(fp.AddFunction(n, userDefFuncSqr, 1)) + if(fp.AddFunction(n, userDefFuncSqr, 1)) { retval = false; if(verbosityLevel >= 2) @@ -466,7 +480,7 @@ int TestErrorSituations() } fp.AddConstant("CONST", 1); - fp.AddFunction("PTR", userDefFuncSqr, 1); + fp.AddFunction("PTR", userDefFuncSqr, 1); fp.AddFunction("PARSER", tmpfp); if(fp.AddConstant("PTR", 1)) @@ -476,7 +490,7 @@ int TestErrorSituations() std::cout << "\n - Adding a userdef function (\"PTR\") as " << "constant didn't fail" << std::endl; } - if(fp.AddFunction("CONST", userDefFuncSqr, 1)) + if(fp.AddFunction("CONST", userDefFuncSqr, 1)) { retval = false; if(verbosityLevel >= 2) @@ -498,13 +512,14 @@ int TestErrorSituations() //========================================================================= // Thoroughly test whitespaces //========================================================================= -double wsFunc(double x) +DefaultValue_t wsFunc(DefaultValue_t x) { - return x + sin((x*-1.5)-(.5*2.0)*(((-x)*1.5+(2-(x)*2.0)*2.0)+(3.0*2.0))+ - (1.5*2.0))+(cos(x)*2.0); + return + x + std::sin((x*-1.5)-(.5*2.0)*(((-x)*1.5+(2-(x)*2.0)*2.0)+(3.0*2.0))+ + (1.5*2.0))+(cos(x)*2.0); } -bool testWsFunc(FunctionParser& fp, const std::string& function) +bool testWsFunc(DefaultParser& fp, const std::string& function) { int res = fp.Parse(function, "x"); if(res > -1) @@ -516,9 +531,10 @@ bool testWsFunc(FunctionParser& fp, const std::string& function) return false; } - double vars[1]; + DefaultValue_t vars[1]; for(vars[0] = -2.0; vars[0] <= 2.0; vars[0] += .1) - if(fabs(fp.Eval(vars) - wsFunc(vars[0])) > Epsilon()) + if(std::fabs(fp.Eval(vars) - wsFunc(vars[0])) > + Epsilon()) { return false; } @@ -527,7 +543,7 @@ bool testWsFunc(FunctionParser& fp, const std::string& function) int WhiteSpaceTest() { - FunctionParser fp; + DefaultParser fp; fp.AddConstant("const", 1.5); fp.AddUnit("unit", 2.0); std::string function(" x + sin ( ( x * - 1.5 ) - .5 unit * ( ( ( - x ) * " @@ -578,21 +594,19 @@ int WhiteSpaceTest() //========================================================================= // Test integer powers //========================================================================= -bool compareExpValues(double value, const std::string& funcStr, - double v1, double v2, bool isOptimized) +bool compareExpValues(DefaultValue_t value, + const std::string& funcStr, + DefaultValue_t v1, + DefaultValue_t v2, + bool isOptimized) { - /* - const double scale = pow(10.0, floor(log10(fabs(v1)))); - const double sv1 = fabs(v1) < Epsilon() ? 0 : v1/scale; - const double sv2 = fabs(v2) < Epsilon() ? 0 : v2/scale; - const double diff = fabs(sv2-sv1); - */ - const double diff = - fabs(v1) < Epsilon() ? - (fabs(v2) < Epsilon() ? fabs(v1 - v2) : - fabs((v1 - v2) / v2)) : - fabs((v1 - v2) / v1); - if(diff > Epsilon()) + const DefaultValue_t epsilon = Epsilon(); + const DefaultValue_t diff = + std::fabs(v1) < epsilon ? + (std::fabs(v2) < epsilon ? std::fabs(v1 - v2) : + std::fabs((v1 - v2) / v2)) : + std::fabs((v1 - v2) / v1); + if(diff > epsilon) { if(verbosityLevel >= 2) { @@ -608,22 +622,22 @@ bool compareExpValues(double value, const std::string& funcStr, return true; } -bool runIntPowTest(FunctionParser& fp, const std::string& funcStr, +bool runIntPowTest(DefaultParser& fp, const std::string& funcStr, int exponent, bool isOptimized) { const int absExponent = exponent < 0 ? -exponent : exponent; for(int valueOffset = 0; valueOffset <= 5; ++valueOffset) { - const double value = + const DefaultValue_t value = (exponent >= 0 && valueOffset == 0) ? 0.0 : 1.0+(valueOffset-1)/100.0; - double v1 = exponent == 0 ? 1 : value; + DefaultValue_t v1 = exponent == 0 ? 1 : value; for(int i = 2; i <= absExponent; ++i) v1 *= value; if(exponent < 0) v1 = 1.0/v1; - const double v2 = fp.Eval(&value); + const DefaultValue_t v2 = fp.Eval(&value); if(!compareExpValues(value, funcStr, v1, v2, isOptimized)) return false; @@ -634,7 +648,7 @@ bool runIntPowTest(FunctionParser& fp, const std::string& funcStr, bool runFractionalPowTest(const std::string& funcStr, double exponent) { - FunctionParser fp; + DefaultParser fp; if(fp.Parse(funcStr, "x") != -1) { if(verbosityLevel >= 2) @@ -647,11 +661,11 @@ bool runFractionalPowTest(const std::string& funcStr, double exponent) { for(int valueOffset = 0; valueOffset <= 10; ++valueOffset) { - const double value = + const DefaultValue_t value = (exponent >= 0 && valueOffset == 0) ? 0.0 : 1.0+(valueOffset-1)/2.0; - const double v1 = std::pow(value, exponent); - const double v2 = fp.Eval(&value); + const DefaultValue_t v1 = std::pow(value, exponent); + const DefaultValue_t v2 = fp.Eval(&value); if(!compareExpValues(value, funcStr, v1, v2, i > 0)) return false; @@ -664,7 +678,7 @@ bool runFractionalPowTest(const std::string& funcStr, double exponent) int TestIntPow() { - FunctionParser fp; + DefaultParser fp; for(int exponent = -1300; exponent <= 1300; ++exponent) { @@ -687,20 +701,20 @@ int TestIntPow() for(int m = -27; m <= 27; ++m) { for(int n_sqrt=0; n_sqrt<=4; ++n_sqrt) - for(int n_cbrt=0; n_cbrt<=4; ++n_cbrt) - { - if(n_sqrt+n_cbrt == 0) continue; - - std::ostringstream os; - os << "x^(" << m << "/(1"; - for(int n=0; n 0) exponent /= std::pow(2.0, n_sqrt); - if(n_cbrt > 0) exponent /= std::pow(3.0, n_cbrt); - if(!runFractionalPowTest(os.str(), exponent)) return false; - } + for(int n_cbrt=0; n_cbrt<=4; ++n_cbrt) + { + if(n_sqrt+n_cbrt == 0) continue; + + std::ostringstream os; + os << "x^(" << m << "/(1"; + for(int n=0; n 0) exponent /= std::pow(2.0, n_sqrt); + if(n_cbrt > 0) exponent /= std::pow(3.0, n_cbrt); + if(!runFractionalPowTest(os.str(), exponent)) return false; + } } return true; @@ -924,14 +938,16 @@ namespace int UTF8Test() { + typedef DefaultParser::value_type Value_t; + CharIter iters[4] = { CharIter(true, false), CharIter(false, true), CharIter(false, false), CharIter(false, false) }; std::string identifier; - FunctionParser fp; - const double value = 0.0; + DefaultParser fp; + const Value_t value = 0.0; for(unsigned length = 1; length <= 4; ++length) { @@ -1003,9 +1019,9 @@ int UTF8Test() //========================================================================= // Test identifier adding and removal //========================================================================= -bool AddIdentifier(FunctionParser& fp, const std::string& name, int type) +bool AddIdentifier(DefaultParser& fp, const std::string& name, int type) { - static FunctionParser anotherParser; + static DefaultParser anotherParser; static bool anotherParserInitialized = false; if(!anotherParserInitialized) { @@ -1017,7 +1033,7 @@ bool AddIdentifier(FunctionParser& fp, const std::string& name, int type) { case 0: return fp.AddConstant(name, 123); case 1: return fp.AddUnit(name, 456); - case 2: return fp.AddFunction(name, userDefFuncSqr, 1); + case 2: return fp.AddFunction(name, userDefFuncSqr, 1); case 3: return fp.AddFunction(name, anotherParser); } return false; @@ -1025,7 +1041,7 @@ bool AddIdentifier(FunctionParser& fp, const std::string& name, int type) int TestIdentifiers() { - FunctionParser fParser; + DefaultParser fParser; std::vector identifierNames(26*26, std::string("AA")); unsigned nameInd = 0; @@ -1116,15 +1132,15 @@ int TestIdentifiers() namespace { template - double userFunction(const double* p) + DefaultValue_t userFunction(const DefaultValue_t* p) { - double result = 1.0; + DefaultValue_t result = 1.0; for(int i = 0; i < VarsAmount; ++i) result += (VarsAmount+i/10.0) * p[i]; return result; } - double(*userFunctions[])(const double*) = + DefaultValue_t(*userFunctions[])(const DefaultValue_t*) = { userFunction<0>, userFunction<1>, userFunction<2>, userFunction<3>, userFunction<4>, userFunction<5>, userFunction<6>, userFunction<7>, @@ -1133,28 +1149,30 @@ namespace const unsigned userFunctionsAmount = sizeof(userFunctions) / sizeof(userFunctions[0]); - double nestedFunc1(const double* p) + DefaultValue_t nestedFunc1(const DefaultValue_t* p) { return p[0] + 2.0*p[1] + 3.0*p[2]; } - double nestedFunc2(const double* p) + DefaultValue_t nestedFunc2(const DefaultValue_t* p) { - const double params[3] = { -5.0*p[0], -10.0*p[1], -p[0] }; + const DefaultValue_t params[3] = { -5.0*p[0], -10.0*p[1], -p[0] }; return p[0] + 4.0*nestedFunc1(params); } - double nestedFunc3(const double* p) + DefaultValue_t nestedFunc3(const DefaultValue_t* p) { - const double params1[3] = { 2.5*p[0]+2.0, p[2], p[1]/2.5 }; - const double params2[2] = { p[1] / 1.5 - 1.0, p[0] - 2.5 }; + const DefaultValue_t params1[3] = { 2.5*p[0]+2.0, p[2], p[1]/2.5 }; + const DefaultValue_t params2[2] = { p[1] / 1.5 - 1.0, p[0] - 2.5 }; return nestedFunc1(params1) + nestedFunc2(params2); } } int testUserDefinedFunctions() { - FunctionParser nestedParser1, nestedParser2, nestedParser3; + const DefaultValue_t epsilon = Epsilon(); + + DefaultParser nestedParser1, nestedParser2, nestedParser3; nestedParser1.Parse("x + 2.0*y + 3.0*z", "x, y, z"); nestedParser2.AddFunction("nestedFunc1", nestedParser1); nestedParser2.Parse("x + 4.0*nestedFunc1(-5.0*x, -10.0*y, -x)", "x,y"); @@ -1165,7 +1183,7 @@ int testUserDefinedFunctions() for(int iteration = 0; iteration < 2; ++iteration) { - double nestedFuncParams[3]; + DefaultValue_t nestedFuncParams[3]; for(int i = 0; i < 100; ++i) { nestedFuncParams[0] = -10.0 + 20.0*i/100.0; @@ -1176,9 +1194,11 @@ int testUserDefinedFunctions() { nestedFuncParams[2] = -10.0 + 20.0*k/100.0; - const double v1 = nestedParser3.Eval(nestedFuncParams); - const double v2 = nestedFunc3(nestedFuncParams); - if(fabs(v1-v2) > 1e-10) + const DefaultValue_t v1 = + nestedParser3.Eval(nestedFuncParams); + const DefaultValue_t v2 = + nestedFunc3(nestedFuncParams); + if(std::fabs(v1-v2) > epsilon) { if(verbosityLevel >= 2) std::cout @@ -1201,9 +1221,9 @@ int testUserDefinedFunctions() std::string funcNames[userFunctionsAmount]; std::string userFunctionParserFunctions[userFunctionsAmount]; std::string userFunctionParserParameters[userFunctionsAmount]; - FunctionParser userFunctionParsers[userFunctionsAmount]; - double funcParams[userFunctionsAmount]; - FunctionParser parser1, parser2; + DefaultParser userFunctionParsers[userFunctionsAmount]; + DefaultValue_t funcParams[userFunctionsAmount]; + DefaultParser parser1, parser2; for(unsigned funcInd = 0; funcInd < userFunctionsAmount; ++funcInd) { @@ -1238,10 +1258,10 @@ int testUserDefinedFunctions() { for(unsigned paramInd = 0; paramInd < testInd; ++paramInd) funcParams[paramInd] = testInd+paramInd; - const double result = userFunctions[funcInd](funcParams); - const double parserResult = + const DefaultValue_t result = userFunctions[funcInd](funcParams); + const DefaultValue_t parserResult = userFunctionParsers[funcInd].Eval(funcParams); - if(fabs(result - parserResult) > 1e-8) + if(std::fabs(result - parserResult) > epsilon) { if(verbosityLevel >= 2) { @@ -1320,8 +1340,8 @@ int testUserDefinedFunctions() { for(unsigned testInd = 0; testInd < 100; ++testInd) { - const double x = testInd/10.0; - double result = 0.0; + const DefaultValue_t x = testInd/10.0; + DefaultValue_t result = 0.0; for(unsigned factorInd = 0; factorInd <= funcInd; ++factorInd) { for(unsigned paramInd = 0; paramInd < factorInd; ++paramInd) @@ -1333,10 +1353,12 @@ int testUserDefinedFunctions() (factorInd+1) * userFunctions[factorInd](funcParams); } - const double parser1Result = parser1.Eval(&x); - const double parser2Result = parser2.Eval(&x); - const bool parser1Failed = fabs(result - parser1Result) > 1e-8; - const bool parser2Failed = fabs(result - parser2Result) > 1e-8; + const DefaultValue_t parser1Result = parser1.Eval(&x); + const DefaultValue_t parser2Result = parser2.Eval(&x); + const bool parser1Failed = + std::fabs(result - parser1Result) > epsilon; + const bool parser2Failed = + std::fabs(result - parser2Result) > epsilon; if(parser1Failed || parser2Failed) { @@ -1388,17 +1410,17 @@ int testUserDefinedFunctions() class TestingThread { int mThreadNumber; - FunctionParser* mFp; + DefaultParser* mFp; volatile static bool mOk; - static double function(const double* vars) + static DefaultValue_t function(const DefaultValue_t* vars) { - const double x = vars[0], y = vars[1]; + const DefaultValue_t x = vars[0], y = vars[1]; return sin(sqrt(x*x+y*y)) + 2*cos(2*sqrt(2*x*x+2*y*y)); } public: - TestingThread(int n, FunctionParser* fp): + TestingThread(int n, DefaultParser* fp): mThreadNumber(n), mFp(fp) {} @@ -1406,28 +1428,30 @@ class TestingThread void operator()() { - double vars[2]; + const DefaultValue_t epsilon = Epsilon(); + DefaultValue_t vars[2]; for(vars[0] = -10.0; vars[0] <= 10.0; vars[0] += 0.02) { for(vars[1] = -10.0; vars[1] <= 10.0; vars[1] += 0.02) { if(!mOk) return; - const double v1 = function(vars); - const double v2 = mFp->Eval(vars); + const DefaultValue_t v1 = function(vars); + const DefaultValue_t v2 = mFp->Eval(vars); /* const double scale = pow(10.0, floor(log10(fabs(v1)))); const double sv1 = fabs(v1) < Epsilon() ? 0 : v1/scale; const double sv2 = fabs(v2) < Epsilon() ? 0 : v2/scale; const double diff = fabs(sv2-sv1); */ - const double diff = - fabs(v1) < Epsilon() ? - (fabs(v2) < Epsilon() ? fabs(v1 - v2) : - fabs((v1 - v2) / v2)) : - fabs((v1 - v2) / v1); - - if(fabs(diff) > 1e-6) + const DefaultValue_t diff = + std::fabs(v1) < epsilon ? + (std::fabs(v2) < epsilon ? + std::fabs(v1 - v2) : + std::fabs((v1 - v2) / v2)) : + std::fabs((v1 - v2) / v1); + + if(std::fabs(diff) > epsilon) { mOk = false; if(verbosityLevel >= 2) @@ -1446,7 +1470,7 @@ volatile bool TestingThread::mOk = true; int testMultithreadedEvaluation() { - FunctionParser fp; + DefaultParser fp; fp.Parse("sin(sqrt(x*x+y*y)) + 2*cos(2*sqrt(2*x*x+2*y*y))", "x,y"); if(verbosityLevel >= 1) @@ -1711,10 +1735,10 @@ namespace const double diff = fp_abs(sv2-sv1); */ const double diff = - fabs(v1) < Eps ? - (fabs(v2) < Eps ? fabs(v1 - v2) : - fabs((v1 - v2) / v2)) : - fabs((v1 - v2) / v1); + std::fabs(v1) < Eps ? + (std::fabs(v2) < Eps ? std::fabs(v1 - v2) : + std::fabs((v1 - v2) / v2)) : + std::fabs((v1 - v2) / v1); if(diff > Eps) { @@ -2202,12 +2226,11 @@ bool runRegressionTests(const std::string& valueType) std::cout << briefErrorMessages.str() << std::flush; } - /* - std::cout << "User-defined function \"sub\" was called " - << (dynamic_cast*> - (fp.GetFunctionWrapper("sub"))->counter()) - << " times." << std::endl; - */ + if(verbosityLevel >= 2) + std::cout << "User-defined function \"sub\" was called " + << (dynamic_cast*> + (fp.GetFunctionWrapper("sub"))->counter()) + << " times." << std::endl; return allRegressionTestsOk; } @@ -2228,14 +2251,15 @@ namespace OptimizerTests */ struct MathFuncData { - double (*mathFunc)(double d); + DefaultValue_t (*mathFunc)(DefaultValue_t d); const char* funcName; }; const MathFuncData mathFuncs[] = { - { &sin, "sin" }, { &cos, "cos" }, { &tan, "tan" }, { &sinh, "sinh" }, - { &cosh, "cosh" }, { &tanh, "tanh" }, { &exp, "exp" } + { &std::sin, "sin" }, { &std::cos, "cos" }, { &std::tan, "tan" }, + { &std::sinh, "sinh" }, { &std::cosh, "cosh" }, { &std::tanh, "tanh" }, + { &std::exp, "exp" } }; const unsigned mathFuncsAmount = sizeof(mathFuncs) / sizeof(mathFuncs[0]); @@ -2244,16 +2268,20 @@ namespace OptimizerTests int exponent_C, exponent_F; unsigned operatorIndex; - double evaluateFunction(const double* params) + DefaultValue_t evaluateFunction(const DefaultValue_t* params) { - const double x = params[0]; + const DefaultValue_t x = params[0]; const MathFuncData& data1 = mathFuncs[mathFuncIndexA]; const MathFuncData& data2 = mathFuncs[mathFuncIndexD]; - const double angle1 = (exponent_B == 1 ? x : pow(x, exponent_B)); - const double angle2 = (exponent_E == 1 ? x : pow(x, exponent_E)); - const double part1 = pow(data1.mathFunc(angle1), exponent_C); - const double part2 = pow(data2.mathFunc(angle2), exponent_F); + const DefaultValue_t angle1 = + (exponent_B == 1 ? x : std::pow(x, exponent_B)); + const DefaultValue_t angle2 = + (exponent_E == 1 ? x : std::pow(x, exponent_E)); + const DefaultValue_t part1 = + std::pow(data1.mathFunc(angle1), exponent_C); + const DefaultValue_t part2 = + std::pow(data2.mathFunc(angle2), exponent_F); if(operatorIndex == 0) return part1 + part2; return part1 * part2; @@ -2271,13 +2299,13 @@ namespace OptimizerTests os << data2.funcName << "(x^" << exponent_E << ")^" << exponent_F; const std::string funcString = os.str(); - const TestType testData = + const TestType testData = { 1, -4.0, 4.0, 0.49, false, &evaluateFunction, 0, 0, "x", "'trig. combo optimizer test'", funcString.c_str() }; - FunctionParser parser; + DefaultParser parser; if(parser.Parse(funcString, "x") >= 0) { std::cout << "Oops: Function \"" << funcString @@ -2287,8 +2315,8 @@ namespace OptimizerTests std::ostringstream briefErrorMessages; - if(!runRegressionTest(parser, testData, "double", Epsilon(), - briefErrorMessages)) + if(!runRegressionTest(parser, testData, "DefaultValue_t", + Epsilon(), briefErrorMessages)) { if(verbosityLevel == 1) std::cout << "\n - " << briefErrorMessages.str() << std::flush; @@ -2634,7 +2662,7 @@ int testOptimizer1() int testOptimizer2() { - return OptimizerTests::runBooleanComparisonTestsForType(); + return OptimizerTests::runBooleanComparisonTestsForType(); } int testOptimizer3() @@ -2785,8 +2813,10 @@ int main(int argc, char* argv[]) runAlgoTests = false; std::vector tests; +#ifndef FP_DISABLE_DOUBLE_TYPE for(unsigned a=0; RegressionTests::Tests[a].testName; ++a) tests.push_back(RegressionTests::Tests[a].testName); +#endif #ifdef FP_SUPPORT_FLOAT_TYPE for(unsigned a=0; RegressionTests::Tests[a].testName; ++a) tests.push_back(RegressionTests::Tests[a].testName); @@ -2878,7 +2908,7 @@ int main(int argc, char* argv[]) if(selectedRegressionTests.empty()) selectedRegressionTests.push_back("*"); - FunctionParser fp0; + DefaultParser fp0; // Test that the parser doesn't crash if Eval() is called before Parse(): fp0.Eval(0); @@ -2905,9 +2935,11 @@ int main(int argc, char* argv[]) if(!runAllTypes || runAlgoTest == 0) { +#ifndef FP_DISABLE_DOUBLE_TYPE if(runAllTypes || run_d) if(!runRegressionTests("double")) allTestsOk = false; +#endif #ifdef FP_SUPPORT_FLOAT_TYPE if(runAllTypes || run_f) if(!runRegressionTests("float")) diff --git a/contrib/fparser/testbed_tests.inc b/contrib/fparser/testbed_tests.inc index 588595d..c5b34b3 100644 --- a/contrib/fparser/testbed_tests.inc +++ b/contrib/fparser/testbed_tests.inc @@ -1,1926 +1,1959 @@ -#define d03 " "gR3 -#define hZ3 -40,40, -#define hY3 *fp_or( -#define hX3 )/a;}q3 -#define hW3 w8" " -#define hV3 40000.0 -#define hU3 "if(x"dQ -#define hT3 "-125)" -#define hS3 o91") " -#define hR3 wF1"1 > " -#define hQ3 a22"1 < " -#define hP3 wE1"0 > " -#define hO3 a12"0 < " -#define hN3 " "h43 g32 -#define hM3 "!x * !y" -#define hL3 "!x & !y" -#define hK3 "!x | !y" -#define hJ3 " <= " -#define hI3 "if("oM1 -#define hH3 "if("qT1 -#define hG3 "abs"g91 -#define hF3 "abs"dR1 -#define hE3 "y,x,y)" -#define hD3 +x+x+x+x -#define hC3 " != " -#define hB3 " >= " -#define hA3 oL1"1"hB3 -#define h93 dG2"1"hJ3 -#define h83 oK1"0"hB3 -#define h73 dF2"0"hJ3 -#define h63 "floor"wS2 -#define h53 "acos"g91 -#define h43 "ceil"qH1 -#define h33 "0.0625)" -#define h23 "25"g31 -#define h13 "y,"oT2 -#define h03 dT" " -#define gZ3 (d2r(1.1))dT1 -#define gY3 hF3" " -#define gX3 "acos"oV o0 -#define gW3 "sin(x))"}, -#define gV3 mL1 gM3 gM3" " -#define gU3 "-0.015625)" -#define gT3 "-125"g31 -#define gS3 " +"gM3 -#define gR3 "(5.0625 " -#define gQ3 d2"5.0625 " -#define gP3 "y, 0,1"g31 -#define gO3 "y,y,x)" -#define gN3 "0.0625"g31 -#define gM3 " " -#define gL3 "-0.015625"g31 -#define gK3 q0(0 wX -#define gJ3 q0(10l) -#define gI3 qX1 gX) -#define gH3 1 qN q4 -#define gG3 "x,y,z" -#define gF3 1 qN,g1 -#define gE3 q0(3)) -#define gD3 oC,oM -#define gC3 " "qQ1 -#define gB3 mflit7_1 -#define gA3 qA2},{1 -#define g93 qC qA( -#define g83 N(.1), -#define g73 fp_exp2( -#define g63 gL;}q0 -#define g53 +gO qU -#define g43 Asinf_deg -#define g33 (x,fp_min( -#define g23 Acosf_deg -#define g13 q0(3l) -#define g03 0]=(x), -#define qZ3 &y oI2;q0 -#define qY3 -6,6,1 qN -#define qX3 1,-10,10, -#define qW3 q4 Negneg -#define qV3 Asinhf_deg -#define qU3 Acoshf_deg -#define qT3 ;}}namespace -#define qS3 ));}q0 -#define qR3 " + 32" -#define qQ3 qN qL -#define qP3 oC dA2 -#define qO3 N(3.0,0.0), -#define qN3 N(-6.0,0.0),wI -#define qM3 using namespace FUNCTIONPARSERTYPES;q0 -#define qL3 *q0(2 -#define qK3 4.0l hW -#define qJ3 4.0f hW -#define qI3 qT expf -#define qH3 q0(2.0l -#define qG3 0l);}q3 -#define qF3 d92 mP2 -#define qE3 qO q0(hA -#define qD3 +fp_or( -#define qC3 oF 1l), -#define qB3 g01 gX) -#define qA3 ")*0"}, -#define q93 Abseq0, -#define q83 ")*5"}, -#define q73 ")*a"}, -#define q63 ")/a"}, -#define q53 Sqrneq0 -#define q43 qA2" +" -#define q33 ") + (" -#define q23 Gt1_abs -#define q13 Gt0_abs -#define q03 Ge1_abs -#define mZ2 Ge0_abs -#define mY2 Cmp_sqr -#define mX2 Cmp_neg -#define mW2 Cmp_add -#define mV2 Absneq0 -#define mU2 ")"wK1 -#define mT2 " + 1/" -#define mS2 N(.5)qN -#define mR2 "acosh" -#define mQ2 "*z) +" -#define mP2 "<=y &" -#define mO2 4 d4 gR -#define mN2 ",-"mL1 -#define mM2 m6" | " -#define mL2 m6" & " -#define mK2 Sqr_yxx -#define mJ2 Sqr_xnx -#define mI2 Sqr_nxx -#define mH2 "x))"}, -#define mG2 Absnzlt -#define mF2 Absnzge -#define mE2 "abs(b" -#define mD2 "abs(a" -#define mC2 N(.2)qQ3 -#define mB2 fp_sin( -#define mA2 fp_pow( -#define m92 ))+gP -#define m82 "x",oE -#define m72 ,0,1,gR -#define m62 {1 m72 -#define m52 {1,-g0 -#define m42 ")+(x" -#define m32 "exp"g91 -#define m22 m8" | " -#define m12 "exp(" -#define m02 " "h61 -#define aZ2 hC3 -#define aY2 ,"x*" -#define aX2 aY2"0+" -#define aW2 mflit2_5 -#define aV2 d2r(wO -#define aU2 "y) +" -#define aT2 w11"ex" -#define aS2 oC",y"wN -#define aR2 aZ qN qB -#define aQ2 {1 d4 gR -#define aP2 hD-1,1, -#define aO2 qB1 dZ -#define aN2 fp_not(z -#define aM2 aI2 hQ -#define aL2 qI oA hQ hV1 -#define aK2 qI oA-hQ -#define aJ2 o9 qI hQ hV1 -#define aI2 o9 qI- -#define aH2 q0(4l qF -#define aG2 q0(4l)) -#define aF2 q0(4l qM -#define aE2 ,hP gX -#define aD2 fp_cosh( -#define aC2 qO x+mD1 -#define aB2 "a,b",oE -#define aA2 "atan2" -#define a92 q23, -#define a82 q13, -#define a72 q03, -#define a62 mZ2, -#define a52 mV2, -#define a42 "(x*"h62 -#define a32 Multodiv -#define a22 " > 1"oU -#define a12 " > 0"oU -#define a02 o3"-5)" -#define wZ2 o3"5)" -#define wY2 q4 Negadd -#define wX2 "(1))" -#define wW2 gM3"8" -#define wV2 qI1"))*" -#define wU2 "x+-x+-" -#define wT2 "log(x+" -#define wS2 "(x)"aP1 -#define wR2 " + "oF1"*" -#define wQ2 "7/2) +" -#define wP2 "(x*"qF1 -#define wO2 N(0.25), -#define wN2 "!!x *" -#define wM2 "180/pi" -#define wL2 "sinh" -#define wK2 oC",y,z" -#define wJ2 "x!=y) +" -#define wI2 "x"oG1 -#define wH2 Xaddnot, -#define wG2 Lt_or_ne -#define wF2 Lt_or_le -#define wE2 Lt_or_gt -#define wD2 Lt_or_ge -#define wC2 Lt_or_eq -#define wB2 Le_or_ne -#define wA2 Le_or_eq -#define w92 L_notnot -#define w82 L_mulneg -#define w72 L_mulabs -#define w62 Ifmerge, -#define w52 Gt_or_ne -#define w42 Gt_or_le -#define w32 Gt_or_ge -#define w22 Gt_or_eq -#define w12 Ge_or_ne -#define w02 Ge_or_le -#define oZ2 Ge_or_eq -#define oY2 o91 g31 -#define oX2 wG"4)" -#define oW2 a51")" -#define oV2 "x"o31 -#define oU2 "x,y"q6"/" -#define oT2 "x"mI1 -#define oS2 "x",dX -#define oR2 mG2, -#define oQ2 "1,4,0" -#define oP2 mF2, -#define oO2 Xxsqrdup -#define oN2 Sqr_yxnx -#define oM2 Sqr_ynxx -#define oL2 "x"gW -#define oK2 (fp_not(x -#define oJ2 N(2.0,0.0) -#define oI2 =vars[1] -#define oH2 g41"*(" -#define oG2 gY;}q0 -#define oF2 q0(0l) -#define oE2 h8;}q0 -#define oD2 ))gI x -#define oC2 ",if(" -#define oB2 " + (x*" -#define oA2 -400,400, -#define o92 mflit1_5) -#define o82 mflit1_5* -#define o72 mflit0_25 -#define o62 atan2l( -#define o52 sqrtl(x*x -#define o42 atan2f( -#define o32 sqrtf(x*x -#define o22 "^1506"}, -#define o12 +fp_less( -#define o02 qB1 x*x*x -#define dZ2 x+q0(6l)) -#define dY2 /gX a2-gF -#define dX2 (1.1)dT1 -#define dW2 q0(1)) -#define dV2 (q0(5),q0(4) -#define dU2 /gX a2+gF -#define dT2 q0(0l qU -#define dS2 dY1 q0:: -#define dR2 )+q0( -#define dQ2 /gX)+mE -#define dP2 gO m92 x -#define dO2 ))+oF 0l), -#define dN2 q0(7l)) -#define dM2 fp_tan( -#define dL2 g01 q0(2l -#define dK2 qX1 q0(2l -#define dJ2 qW1 q0(2l -#define dI2 "(x) +" -#define dH2 q4 Immsub -#define dG2 hB3"1"oU -#define dF2 hB3"0"oU -#define dE2 ")+x+(" -#define dD2 " if(x" -#define dC2 "(x^2"g31 -#define dB2 "pow(x" -#define dA2 ",y,z",oM -#define d92 "*(x" -#define d82 10,10,dU1 -#define d72 Nor2plus, -#define d62 Lt_and_ne -#define d52 Lt_and_le -#define d42 Lt_and_gt -#define d32 Lt_and_ge -#define d22 m8" & " -#define d12 Lt_and_eq -#define d02 Le_and_ne -#define hZ2 Le_and_eq -#define hY2 (qG3 -#define hX2 Ifmerge2, -#define hW2 Gt_and_ne -#define hV2 Gt_and_le -#define hU2 Gt_and_ge -#define hT2 Gt_and_eq -#define hS2 Ge_and_ne -#define hR2 Ge_and_le -#define hQ2 Ge_and_eq -#define hP2 hB3"6"a7 -#define hO2 " > 6)"oS -#define hN2 ")/log(" -#define hM2 (fp_exp( -#define hL2 " < 6)"a6 -#define hK2 " < 6"g31 -#define hJ2 " > 6"g31 -#define hI2 " = 6"g31 -#define hH2 Notnotnot -#define hG2 Dupminmax -#define hF2 N(0.25)qN -#define hE2 0,qH"/sin" -#define hD2 ,0 wY -#define hC2 hY1 1.1f -#define hB2 +(m91)+aY))* -#define hA2 fp_and(x -#define h92 ((dI1/mL)* -#define h82 q0(5l qU -#define h72 fp_sqrt( -#define h62 "5"g31 -#define h52 ">-4)"w9 -#define h42 gM3"16" -#define h32 "(1.0" -#define h22 "pi/180" -#define h12 hS1" | " -#define h02 hS1" & " -#define gZ2 "(-x)"}, -#define gY2 "abs(x)" -#define gX2 +mflit1_1* -#define gW2 q0(0.5l) -#define gV2 const q0 -#define gU2 mflit1_1)+ -#define gT2 y),oY,y wX -#define gS2 x,fp_max( -#define gR2 fp_max(q0( -#define gQ2 fp_min(q0( -#define gP2 +fp_min(x, -#define gO2 1l qM dI1, -#define gN2 qS oF2, -#define gM2 qM oF2, -#define gL2 wX dB 1l), -#define gK2 wX dB 0l), -#define gJ2 gC hP gX -#define gI2 gC h1 dI1 -#define gH2 gC hC gX -#define gG2 gC-q0(2l -#define gF2 gC-gX) -#define gE2 "log(x)"}, -#define gD2 Cmp_mulpos -#define gC2 ">4)"w9 -#define gB2 Cmp_mulneg -#define gA2 "(x*z+17)" -#define g92 N(.1)qQ3 -#define g82 ,true qB -#define g72 mA2 dZ -#define g62 mA2 x*x*x -#define g52 qT mA2 -#define g42 qT fp_not( -#define g32 " 10*"dX -#define g22 "sub(sub(" -#define g12 Nand2plus, -#define g02 Ifmerge2b, -#define qZ2 hC3"6)"dV -#define qY2 hJ3"6)"a8 -#define qX2 hC3"6"g31 -#define qW2 hJ3"6"g31 -#define qV2 hB3"6"g31 -#define qU2 wG"-4)" -#define qT2 Notnotnot2 -#define qS2 Dupxmuladd -#define qR2 Dupminmax3 -#define qQ2 Dupminmax2 -#define qP2 Dupaddmul7 -#define qO2 "z+y+z+y+" -#define qN2 "(1.1"h0 -#define qM2 x oK 1l);}q3 -#define qL2 ))+qB2 oF2, -#define qK2 q0(fp_abs(x) -#define qJ2 wV1),q0(4l -#define qI2 -fp_int( -#define qH2 dM2 y) -#define qG2 fp_atan2( -#define qF2 d7 x:y dR2 -#define qE2 d7 y:aU -#define qD2 qT q0(hA -#define qC2 ,q0(4l qU -#define qB2 fp_equal( -#define qA2 "sin(x)" -#define q92 "acos(x)" -#define q82 ") + 32" -#define q72 "<-4) "aM -#define q62 "=-4) "aL -#define q52 "sin("wQ -#define q42 "(x>4"g31 -#define q32 (q0(0.0l))+ -#define q22 fp_pow hM2 mF), -#define q12 2,-4,4,gR -#define q02 g81"*y)" -#define mZ1 qV1"*y)" -#define mY1 N(0.5)qN -#define mX1 mflit0_7 hW -#define mW1 wX gG x -#define mV1 wX gZ x -#define mU1 gG2 qM -#define mT1 N(4.0,0.0), -#define mS1 " cos(x)"}, -#define mR1 Cmp_sqr_neg -#define mQ1 N(.15)qQ3 -#define mP1 ",max(x,ma" -#define mO1 oC q6"/pow" -#define mN1 2,2,gF3 -#define mM1 Xaddnotnot, -#define mL1 "x)) +" -#define mK1 qT fp_nequal( -#define mJ1 ,"("gY2 -#define mI1 ",y"g31 -#define mH1 Addconstmul -#define mG1 "dupminmax" -#define mF1 N(1.0,0.0), -#define mE1 q0(5 wX 1)/ -#define mD1 y;}q3 -#define mC1 "*("wJ -#define mB1 *fp_and( -#define mA1 (oG,q0(4l)qU -#define m91 mB2 x -#define m81 (mB2 y),aY)): -#define m71 mB2 y)+ -#define m61 ")+x"},{1 gS -#define m51 qB2 x,y -#define m41 aY*q0(1.5l)) -#define m31 fp_or(y,z) -#define m21 x),h1 gX -#define m11 x),hC gX -#define m01 d2r(x qU -#define aZ1 ,"(sin(x)" -#define aY1 h5")" -#define aX1 h4"x)" -#define aW1 "<=-4) "aN -#define aV1 "*((-x)" -#define aU1 "<4) "aM -#define aT1 "=4) "aL -#define aS1 "*("aJ -#define aR1 hW3" 32" -#define aQ1 "*("aI -#define aP1 ",ceil(x))+" -#define aO1 hK1 dQ"))"}, -#define aN1 "cmpeq_" -#define aM1 "cbrt(x^6" -#define aL1 ")), int(" -#define aK1 Mixedminmax, -#define aJ1 Mergemulabs, -#define aI1 3 d4 gR -#define aH1 Cmpzz_minmax -#define aG1 ")"aZ2 hL1 dV -#define aF1 ")"hB3 hL1 o41 -#define aE1 ") > "hL1 oS -#define aD1 ")"hJ3 hL1 a8 -#define aC1 ") < "hL1 a6 -#define aB1 Cmpne_minmax -#define aA1 Cmplt_minmax -#define a91 Cmple_minmax -#define a81 Cmpgt_minmax -#define a71 Cmpge_minmax -#define a61 wG"4*y)" -#define a51 wG"-4*y" -#define a41 Cmpeq_minmax -#define a31 Addnegmulpos -#define a21 Addnegmulneg -#define a11 2 oJ 2 qN,q2 -#define a01 d4 gH3 -#define wZ1 Absnotnotnot -#define wY1 qE3 x* -#define wX1 ))+mflit1_2* -#define wW1 q0(5l wX 1l)/ -#define wV1 q0(5l) -#define wU1 userDefFuncSqr(( -#define wT1 (1.1f hW -#define wS1 aU2" x/" -#define wR1 ((x*q0(gA -#define wQ1 fp_abs(a) -#define wP1 {1,q8 -#define wO1 w8 h42 -#define wN1 w8 wW2 -#define wM1 w8 gM3"4" -#define wL1 w8 gM3"2" -#define wK1 gS3"2" -#define wJ1 ,d8"pow" -#define wI1 0l)gB x:-x wX -#define wH1 x),-gX) -#define wG1 {2 d4 gF3 -#define wF1 " < 1"oH2 -#define wE1 " < 0"oH2 -#define wD1 10,10,gF3 -#define wC1 If_join_mul2, -#define wB1 If_join_add2, -#define wA1 Cmpzz_add_imm -#define w91 Cmpne_add_imm -#define w81 Cmplt_add_imm -#define w71 Cmple_add_imm -#define w61 Cmpgt_add_imm -#define w51 Cmpge_add_imm -#define w41 Cmpeq_add_imm -#define w31 q4 Xaddnotnot -#define w21 0,q7"/pow" -#define w11 ,0 gT -#define w01 w11"cmp_ex" -#define oZ1 w11"asin" +#define dS3 {2 d6 hF +#define dR3 " "q91 +#define dQ3 " "h1}, +#define dP3 {1 d6 gQ +#define dO3 " >= " +#define dN3 " <= " +#define dM3 -40,40, +#define dL3 q12" " +#define dK3 wV2" " +#define dJ3 " "m3 +#define dI3 " != " +#define dH3 " < " +#define dG3 oL2" " +#define dF3 " + " +#define dE3 mY2" " +#define dD3 40000.0 +#define dC3 "x*0+ " +#define dB3 ")) + " +#define dA3 mZ1") " +#define d93 h03" " +#define d83 dS1" " +#define d73 dZ" " +#define d63 "abs(x)" +#define d53 d43 o02 +#define d43 "-125" +#define d33 d92"1 > " +#define d23 a72"1"dH3 +#define d13 d82"0 > " +#define d03 a62"0"dH3 +#define hZ3 "!x * !y" +#define hY3 wS2" !!y" +#define hX3 " if(x"o0 +#define hW3 "-125)" +#define hV3 "!x & !y" +#define hU3 "!x | !y" +#define hT3 q4 Negneg +#define hS3 "abs"g51 +#define hR3 "abs"aN1 +#define hQ3 {1 d6 hF +#define hP3 g02"1 >= " +#define hO3 d72"1 <= " +#define hN3 qZ2"0 >= " +#define hM3 d62"0 <= " +#define hL3 "floor"wW2 +#define hK3 "acos"g51 +#define hJ3 "ceil"qF1 +#define hI3 "y,y,x)" +#define hH3 "y,x,y)" +#define hG3 "25"o02 +#define hF3 "y,"w02 +#define hE3 o3" " +#define hD3 hL1" " +#define hC3 "0.0625)" +#define hB3 hR3" " +#define hA3 "sin(x))"}, +#define h93 "y,y,"oS2 +#define h83 "if("qT1" " +#define h73 "acos"oB g81 +#define h63 "(5.0625 " +#define h53 mG1" " +#define h43 "-0.015625)" +#define h33 d4"5.0625 " +#define h23 "y, 0,1"o02 +#define h13 "0.0625"o02 +#define h03 dF3" " +#define gZ3 "-0.015625"o02 +#define gY3 q42},{1 +#define gX3 2,-4,4, +#define gW3 )*fp_or( +#define gV3 1.1l))+ +#define gU3 )*a;}q3 +#define gT3 qO-hU)) +#define gS3 -6,6,wB +#define gR3 1 qM,g3 +#define gQ3 N(.1), +#define gP3 wJ"4" +#define gO3 fp_exp(x +#define gN3 q0(dK)) +#define gM3 hQ1"))" +#define gL3 {1 w42 +#define gK3 mD" | " +#define gJ3 +q0(6l)) +#define gI3 Asinhf_deg +#define gH3 fp_cos( +#define gG3 gH3 y +#define gF3 -400,400, +#define gE3 Asinf_deg +#define gD3 Acosf_deg +#define gC3 1,-10,10, +#define gB3 1.061l),x +#define gA3 qM1" | " +#define g93 Acoshf_deg +#define g83 -1000,1000, +#define g73 N(3.0,0.0), +#define g63 +fp_min(x, +#define g53 h3"x)" +#define g43 );}}namespace +#define g33 N(-6.0,0.0),gD1 +#define g23 4.0l d1 +#define g13 4.0f d1 +#define g03 q0(2.0l +#define qZ3 0l);}q3 +#define qY3 wV gT x +#define qX3 log(1.1 +#define qW3 d8 0l), +#define qV3 oH 0l), +#define qU3 ")*0"}, +#define qT3 Abseq0, +#define qS3 ")*5"}, +#define qR3 ")*a"}, +#define qQ3 ")/a"}, +#define qP3 Sqrneq0 +#define qO3 q42" +" +#define qN3 "m_deg", +#define qM3 "hm_deg", +#define qL3 ")"mO"+" +#define qK3 {1 hZ +#define qJ3 "exp"g51 +#define qI3 ") + (" +#define qH3 Gt1_abs +#define qG3 Gt0_abs +#define qF3 Ge1_abs +#define qE3 Ge0_abs +#define qD3 Cmp_sqr +#define qC3 Cmp_neg +#define qB3 "=-2)"q22 +#define qA3 "=-2"o8 +#define q93 Cmp_add +#define q83 Absneq0 +#define q73 " + 1/" +#define q63 " + "o21"*" +#define q53 2 aG gQ +#define q43 "expex" +#define q33 -2,2,hF +#define q23 "acosh" +#define q13 "*z) +" +#define q03 "<=y &" +#define mZ2 "),if(" +#define mY2 ",-"mG1 +#define mX2 m7" | " +#define mW2 m7" & " +#define mV2 Xaddnot +#define mU2 Sqr_yxx +#define mT2 Sqr_xnx +#define mS2 Sqr_nxx +#define mR2 "x))"}, +#define mQ2 Absnzlt +#define mP2 Absnzge +#define mO2 "x"gR +#define mN2 "x,y,z" +#define mM2 wJ"-4" +#define mL2 y,q0(6l +#define mK2 mflit7_1 +#define mJ2 wH1);}q0 +#define mI2 qC qA( +#define mH2 gM;}q0 +#define mG2 *q0(0 gC1 +#define mF2 mflit0_25 +#define mE2 {using namespace FUNCTIONPARSERTYPES;q0 +#define mD2 ));}q0 +#define mC2 a51 wS +#define mB2 ))gT x +#define mA2 ))-hV1 +#define m92 {1,-g2 +#define m82 "xp"w9 +#define m72 ")+(x" +#define m62 "exp(" +#define m52 gD aA1 +#define m42 "x",oF +#define m32 {1 d5 +#define m22 mflit2_5 +#define m12 q0(0))+ +#define m02 q0(1)) +#define aZ2 *q0(2)) +#define aY2 d2r(wW +#define aX2 5),q0(4) +#define aW2 true q4 +#define aV2 hA-1,1, +#define aU2 +fp_not( +#define aT2 *fp_sin( +#define aS2 fp_not(z +#define aR2 -q0 m01 +#define aQ2 qZ1 gL) +#define aP2 qV1 gL) +#define aO2 fp_cosh( +#define aN2 ,y);}q3 +#define aM2 (q0(0.75l) +#define aL2 (y+q0(1l +#define aK2 q0(0l qP +#define aJ2 qL x+mB1 +#define aI2 "a,b",oF +#define aH2 "atan2" +#define aG2 qH3, +#define aF2 qG3, +#define aE2 qF3, +#define aD2 qE3, +#define aC2 q83, +#define aB2 "abs(b" +#define aA2 "abs(a" +#define a92 "(x*"gX2 +#define a82 Multodiv +#define a72 " > 1"o8 +#define a62 " > 0"o8 +#define a52 oA"-5)" +#define a42 oA"5)" +#define a32 "(1))" +#define a22 " 8" +#define a12 N(.2)mK1 +#define a02 N(.5)mK1 +#define wZ2 qG1"))*" +#define wY2 "x+-x+-" +#define wX2 "log(x+" +#define wW2 "(x)"aC1 +#define wV2 "7/2) +" +#define wU2 "(x*"qD1 +#define wT2 N(0.25), +#define wS2 "!!x *" +#define wR2 "180/pi" +#define wQ2 dW",y,z" +#define wP2 Lt_or_ne +#define wO2 Lt_or_le +#define wN2 Lt_or_gt +#define wM2 Lt_or_ge +#define wL2 Lt_or_eq +#define wK2 Le_or_ne +#define wJ2 Le_or_eq +#define wI2 L_notnot +#define wH2 L_mulneg +#define wG2 L_mulabs +#define wF2 Ifmerge, +#define wE2 Gt_or_ne +#define wD2 Gt_or_le +#define wC2 Gt_or_ge +#define wB2 Gt_or_eq +#define wA2 Ge_or_ne +#define w92 Ge_or_le +#define w82 Ge_or_eq +#define w72 ") = "hY +#define w62 ") <= "hY +#define w52 ") > "hY +#define w42 ,0,1,gQ +#define w32 mN2 dY +#define w22 {3 w42 +#define w12 "x,y"q6"/" +#define w02 "x"mF1 +#define oZ2 "x",o6 +#define oY2 mQ2, +#define oX2 "1,4,0" +#define oW2 mP2, +#define oV2 Xxsqrdup +#define oU2 Sqr_yxnx +#define oT2 Sqr_ynxx +#define oS2 "x)"}, +#define oR2 =vars[1] +#define oQ2 gN;}q0 +#define oP2 *x*x w7 +#define oO2 (m02+ +#define oN2 h0;}q0 +#define oM2 " + (x*" +#define oL2 "x!=y) +" +#define oK2 dM qS qO +#define oJ2 dM qR qO +#define oI2 dM qQ qO +#define oH2 "*(x" +#define oG2 -10,10,dB1 +#define oF2 "x,y"dY +#define oE2 {1,-5,5, +#define oD2 dM qU qO +#define oC2 qI gC dO)) +#define oB2 qI-gC +#define oA2 "sinh" +#define o92 ,o6 dA" " +#define o82 ")"dI3 hY +#define o72 ") >= "hY +#define o62 (qT qO +#define o52 N(.1)mK1 +#define o42 gC1 1.2l)* +#define o32 gC1 1.1l)* +#define o22 (qT qI gC +#define o12 {2,3,5,hF +#define o02 ")"}, +#define dZ2 mflit1_1* +#define dY2 mflit1_5* +#define dX2 qW q0(d31 +#define dW2 -mM qM qB +#define dV2 atan2l( +#define dU2 sqrtl(x*x +#define dT2 ((g42 mI)* +#define dS2 {3 d6 hF +#define dR2 0,qH"/sin" +#define dQ2 0 gG1 +#define dP2 atan2f( +#define dO2 sqrtf(x*x +#define dN2 "^1506"}, +#define dM2 "0.7"gH +#define dL2 +fp_less( +#define dK2 )*oH1*x*x +#define dJ2 ,o6",if(" +#define dI2 q0(3l)) +#define dH2 (fp_exp( +#define dG2 /gL a2-gF +#define dF2 /gL a2+gF +#define dE2 /gL)+mB +#define dD2 fp_tan( +#define dC2 ")/log(" +#define dB2 "(1.0" +#define dA2 "(x) +" +#define d92 dH3"1"hZ1 +#define d82 dH3"0"hZ1 +#define d72 " >= 1"o8 +#define d62 " >= 0"o8 +#define d52 ")+x+(" +#define d42 N(.15)mK1 +#define d32 " if(x" +#define d22 "(x^2"o02 +#define d12 "pow(x" +#define d02 Nor2plus, +#define hZ2 Lt_and_ne +#define hY2 Lt_and_le +#define hX2 Lt_and_gt +#define hW2 Lt_and_ge +#define hV2 mD" & " +#define hU2 Lt_and_eq +#define hT2 Le_and_ne +#define hS2 Le_and_eq +#define hR2 Ifmerge2, +#define hQ2 Gt_and_ne +#define hP2 Gt_and_le +#define hO2 Gt_and_ge +#define hN2 Gt_and_eq +#define hM2 Ge_and_ne +#define hL2 Ge_and_le +#define hK2 Ge_and_eq +#define hJ2 ") > "dU1 oV +#define hI2 ") <= "dU1 aE +#define hH2 ")"dH3 dU1 +#define hG2 " > 6)"oV +#define hF2 " > 6"o02 +#define hE2 " = 6"o02 +#define hD2 Notnotnot +#define hC2 Dupminmax +#define hB2 ,o6", y" +#define hA2 N(0.25)qM +#define h92 hW1 1.1f +#define h82 x dG)gC1 +#define h72 q0(7l) +#define h62 fp_pow aG1 +#define h52 fp_pow gN2 +#define h42 gC1 1l)/ +#define h32 fp_sqrt( +#define h22 q0(4l) +#define h12 h22 qP +#define h02 qS qI gC +#define gZ2 q0(1l))) +#define gY2 "(1,0,1" +#define gX2 "5"o02 +#define gW2 ">-4)"wF +#define gV2 "<-4)"wD +#define gU2 "=-4)"wC +#define gT2 "cmp_ex" +#define gS2 " 16" +#define gR2 "pi/180" +#define gQ2 qM1" & " +#define gP2 h71"*y)" +#define gO2 {2 d6 wB +#define gN2 dH2 a0), +#define gM2 q0(0l) +#define gL2 N(1.0,0.0)qM,q2 +#define gK2 x+x+x+x+ +#define gJ2 ,q2 mV2 +#define gI2 +(fp_sin(oF1 +#define gH2 (x,fp_max( +#define gG2 qL fp_and(x +#define gF2 gM2;}q3 +#define gE2 (d2r(1.1)hY1 +#define gD2 q0(0.5l +#define gC2 const q0 +#define gB2 N(0.01)gF1 +#define gA2 y),w3,y)gC1 +#define g92 fp_max(q0( +#define g82 oS 1l);}q3 +#define g72 "(-"oS2 +#define g62 qW fp_not( +#define g52 *q0(5l qP +#define g42 q0(1l)/ +#define g32 1l))qR q0(1l), +#define g22 1l))qU q0(1l), +#define g12 1l)d8 1l), +#define g02 " <= 1"hZ1 +#define qZ2 " <= 0"hZ1 +#define qY2 Cmp_mulpos +#define qX2 "<4)"wD +#define qW2 "=4)"wC +#define qV2 Cmp_mulneg +#define qU2 "(x*z+17)" +#define qT2 wQ2 dY +#define qS2 " 10*"o6 +#define qR2 "sub(sub(" +#define qQ2 Nand2plus, +#define qP2 Ifmerge2b, +#define qO2 " >= 6)"aD +#define qN2 " <= 6)"aE +#define qM2 dH3"6)" +#define qL2 " <= 6"o02 +#define qK2 " >= 6"o02 +#define qJ2 Notnotnot2 +#define qI2 Dupxmuladd +#define qH2 Dupminmax3 +#define qG2 Dupminmax2 +#define qF2 Dupaddmul7 +#define qE2 N(2.0,0.0) +#define qD2 "z+y+z+y+" +#define qC2 qW fp_less( +#define qB2 -fp_int( +#define qA2 dD2 y) +#define q92 N(0.1)gF1 +#define q82 fp_atan2( +#define q72 gL/q0(3l) +#define q62 qW q0(h7 +#define q52 fp_abs(a +#define q42 "sin(x)" +#define q32 "<=-4)"wE +#define q22 h03"2" +#define q12 "sin("wX +#define q02 " "gO",2)" +#define mZ1 " "gO",3" +#define mY1 "(x>4"o02 +#define mX1 gX3 gQ +#define mW1 mflit0_7 d1 +#define mV1 dE y:x gC1 +#define mU1 dE x:y gC1 +#define mT1 dE y:wA +#define mS1 fp_less(q0( +#define mR1 N(4.0,0.0), +#define mQ1 " & (y+2"o02 +#define mP1 ,"log(x)"}, +#define mO1 " cos(x)"}, +#define mN1 Cmp_sqr_neg +#define mM1 ",max(x,ma" +#define mL1 ")"m71 +#define mK1 qM,qZ +#define mJ1 dW q6"/pow" +#define mI1 2,2,gR3 +#define mH1 Xaddnotnot, +#define mG1 "x)) +" +#define mF1 ",y"o02 +#define mE1 Addconstmul +#define mD1 "dupminmax" +#define mC1 ))+fp_equal(gM2, +#define mB1 y;}q3 +#define mA1 "*("wN +#define m91 w9" 32" +#define m81 "*("aR +#define m71 "^(1/" +#define m61 +mflit1_2* +#define m51 gG3)+ +#define m41 fp_sin(y)+ +#define m31 fp_equal(x,y +#define m21 fp_or(y,z) +#define m11 (1.1f d1 +#define m01 wV+q0( +#define aZ1 1l))+oH 1l), +#define aY1 fp_sin(x +#define aX1 oB2 hI)) +#define aW1 x),hP gL)) +#define aV1 x),gU gL +#define aU1 gB h8 gL)) +#define aT1 gB-q0(2l +#define aS1 gB-gL) +#define aR1 x),h8 gL +#define aQ1 d2r(x qP +#define aP1 d6 gR3 +#define aO1 ,"(sin(x)" +#define aN1 oB d63 +#define aM1 ,"(abs(x)" +#define aL1 h4")" +#define aK1 d9"pow" +#define aJ1 {1,-4,4,wB +#define aI1 "*((-x)" +#define aH1 "<=4)"wE +#define aG1 (x*z+q0(17l), +#define aF1 {1,-36,36,wB +#define aE1 {1 d6 wB +#define aD1 {gC3 wB +#define aC1 ",ceil(x))+" +#define aB1 hL1 o0"))"}, +#define aA1 "cmple_" +#define a91 "cmpeq_" +#define a81 "cbrt(x^6" +#define a71 ")), int(" +#define a61 a51 g0 +#define a51 dW",y" +#define a41 Mergemulabs, +#define a31 3 d6 gQ +#define a21 Cmpzz_minmax +#define a11 Cmpne_minmax +#define a01 dI3"6)" +#define wZ1 Cmplt_minmax +#define wY1 Cmple_minmax +#define wX1 Cmpgt_minmax +#define wW1 Cmpge_minmax +#define wV1 wJ"4*y)" +#define wU1 Cmpeq_minmax +#define wT1 Addnegmulpos +#define wS1 Addnegmulneg +#define wR1 aG 2 qM,q2 +#define wQ1 Absnotnotnot +#define wP1 "y) + x/" +#define wO1 {1,q8 +#define wN1 w9 gS2 +#define wM1 w9 a22 +#define wL1 *fp_and( +#define wK1 gG3*q0(1.5l)) +#define wJ1 (q0(0.0l))+ +#define wI1 " + "o11"*" +#define wH1 mflit0_5 +#define wG1 (1.1l d1 +#define wF1 qW r2d( +#define wE1 *x,q0(25l)gC1 +#define wD1 (x);}q0 +#define wC1 ")"dI3 dU1 dD +#define wB1 ") >= "dU1 aD +#define wA1 {2,q9 +#define w91 10,10,gR3 +#define w81 If_join_mul2, +#define w71 If_join_add2, +#define w61 Cmpzz_add_imm +#define w51 Cmpne_add_imm +#define w41 Cmplt_add_imm +#define w31 Cmple_add_imm +#define w21 Cmpgt_add_imm +#define w11 Cmpge_add_imm +#define w01 Cmpeq_add_imm +#define oZ1 ,N(0.25,0.0) #define oY1 fp_and(y,z) -#define oX1 " + "oE1"*" -#define oW1 x*x,q0(25l -#define oV1 {2,q9 -#define oU1 "!=4"g31 -#define oT1 "(x"hC3"y"g31 -#define oS1 "(x = y"g31 -#define oR1 " & (y+2"g31 -#define oQ1 "x"q6"/" -#define oP1 d7 y:x dR2 -#define oO1 q0(25l qU -#define oN1 gQ"cmpgt_" -#define oM1 "1,1,1))" -#define oL1 hJ3"1"oH2 -#define oK1 hJ3"0"oH2 -#define oJ1 "<=4) "aN -#define oI1 -10,10,gH3 -#define oH1 "!=-2"g31 -#define oG1 ",y",oM -#define oF1 "sin(x-pi" -#define oE1 "sin(x+pi" -#define oD1 "((-5.1)*x*y)" -#define oC1 " "gJ",2)" -#define oB1 " "gJ",3)" -#define oA1 gQ"cmplt_" -#define o91 "(x"hJ3"y" -#define o81 If_extract_mul -#define o71 If_extract_min -#define o61 If_extract_add -#define o51 If_extract_abs -#define o41 qY"0010 *" -#define o31 "_rev",dX -#define o21 Addmulconstmul -#define o11 fp_lessOrEq( -#define o01 ,4,N(0.05)qN qB -#define dZ1 (1.1l hW -#define dY1 qT r2d( -#define dX1 ,gQ"cmpne_" -#define dW1 ,gQ"cmple_" -#define dV1 ,gQ"cmpge_" -#define dU1 1 qQ3 -#define dT1 +x;}q3 -#define dS1 "*(if(1,1,1)" -#define dR1 oV"*("gY2 -#define dQ1 ,d8"powx" -#define dP1 "(2))"}, -#define dO1 {2 oJ 2 qN q4 -#define dN1 ",y"q6"/pow" -#define dM1 "*(5+"dX -#define dL1 mA2 mflit1_1 -#define dK1 N(0.01)g82 -#define dJ1 fp_not(-fp_not( -#define dI1 q0(1l) -#define dH1 {1,N(-5.0,0.0),N(5.0,0.0),oJ2 qN,q2 -#define dG1 ") + cos(x-pi*" -#define dF1 "(1.1^x*4.1"g31 -#define dE1 {1 oJ N(0.41)qN q4 -#define dD1 ")^(1/" -#define dC1 If_extract_mul2 -#define dB1 If_extract_mul1 -#define dA1 If_extract_add2 -#define d91 If_extract_add1 -#define d81 fp_notNot(x -#define d71 gE1 y,q0(6l -#define d61 fp_abs(x qU -#define d51 " "gJ",-2)" -#define d41 " "gJ",-3)" -#define d31 },{1,0,1,1 qN,hJ -#define d21 wV1;}q3 -#define d11 (0x0001)*fp_less( -#define d01 fp_abs(x)>=mflit0_5 -#define hZ1 (x);}q0 -#define hY1 qT logf( -#define hX1 fp_int(q0( -#define hW1 (wV1,g13)+x -#define hV1 /g13 -#define hU1 "*(if(1,0,0)" -#define hT1 qI gD),q0(4l -#define hS1 ,"(x > y)" -#define hR1 qI gD),-q0(4l -#define hQ1 o2"(abs(x))" -#define hP1 o2"(x)" -#define hO1 Cmpzz_minmax_rev -#define hN1 N(-.1),g83 N(0.01)qN q4 -#define hM1 "("dN{1 gS -#define hL1 "(y+6))" -#define hK1 " if(x" -#define hJ1 Cmpzz_addadd_imm -#define hI1 Cmpne_minmax_rev -#define hH1 Cmpne_addadd_imm -#define hG1 Cmplt_minmax_rev -#define hF1 Cmplt_addadd_imm -#define hE1 Cmple_minmax_rev -#define hD1 Cmple_addadd_imm -#define hC1 Cmpgt_minmax_rev -#define hB1 Cmpgt_addadd_imm -#define hA1 Cmpge_minmax_rev -#define h91 Cmpge_addadd_imm -#define h81 Cmpeq_minmax_rev -#define h71 Cmpeq_addadd_imm -#define h61 dY"+y)" -#define h51 -460,100,8 qN,qG -#define h41 40,40,3 qN,qG -#define h31 "((1/ abs(b))*" -#define h21 If_extract_or2_l, -#define h11 If_extract_or1_l, -#define h01 Cmpzz_mul_imm_pos -#define gZ1 Cmpzz_mul_imm_neg -#define gY1 Cmpzz_add_reduce, -#define gX1 Cmpne_mul_imm_pos -#define gW1 Cmpne_mul_imm_neg -#define gV1 Cmpne_add_reduce, -#define gU1 Cmplt_mul_imm_pos -#define gT1 Cmplt_mul_imm_neg -#define gS1 Cmplt_add_reduce, -#define gR1 Cmple_mul_imm_pos -#define gQ1 Cmple_mul_imm_neg -#define gP1 Cmple_add_reduce, -#define gO1 Cmpgt_mul_imm_pos -#define gN1 Cmpgt_mul_imm_neg -#define gM1 Cmpgt_add_reduce, -#define gL1 Cmpge_mul_imm_pos -#define gK1 Cmpge_mul_imm_neg -#define gJ1 Cmpge_add_reduce, -#define gI1 Cmpeq_mul_imm_pos -#define gH1 Cmpeq_mul_imm_neg -#define gG1 Cmpeq_add_reduce, -#define gF1 N(0.1)g82 -#define gE1 +q0(4l)+ -#define gD1 fp_acos(x -#define gC1 log(x+sqrt(x*x -#define gB1 3,N(0.0,0.0)qV -#define gA1 "pow(-4,y))" -#define g91 "(x))"}, -#define g81 " "wG"4" -#define g71 d2r(1.1l)hW -#define g61 d2r(1.1f)hW -#define g51 d2r(x qS3 -#define g41 ") + 8" -#define g31 ")"}, -#define g21 d7 x:y);}q3 -#define g11 fp_greater( -#define g01 fp_tanh(x), -#define qZ1 x*x),-q0(16l -#define qY1 x*x),q0(16l -#define qX1 fp_asin(x), -#define qW1 gD1), -#define qV1 " "wG"-4" -#define qU1 hB x+y+x+x-z dT1 +#define oX1 qL q0(h7 x* +#define oW1 "!=4"o02 +#define oV1 " "gO",-2)" +#define oU1 " "gO",-3)" +#define oT1 q2 Mixedminmax, +#define oS1 "(x = y"o02 +#define oR1 oN"(abs(x))" +#define oQ1 oN"(x)" +#define oP1 {2 aG 2 qM q4 +#define oO1 "x,y"g0 +#define oN1 " "wV1 +#define oM1 q0(5)gC1 1)/ +#define oL1 {1,N(-5.0,0.0),N(5.0,0.0),qE2 qM,q2 +#define oK1 "x"q6"/" +#define oJ1 q0(fp_abs(x) +#define oI1 wF1 q0 +#define oH1 fp_pow(o2 +#define oG1 fp_pow(x*x +#define oF1 x)+gG3))* +#define oE1 0l))qR gM2, +#define oD1 0l))qU gM2, +#define oC1 /q0(3l)hI +#define oB1 x),-q0(2l +#define oA1 gD"cmpne_" +#define o91 gD"cmplt_" +#define o81 gD"cmpgt_" +#define o71 gD"cmpge_" +#define o61 "1.1^x*4.1"o02 +#define o51 "!=-2"o02 +#define o41 w9" 4" +#define o31 w9" 2" +#define o21 "sin(x-pi" +#define o11 "sin(x+pi" +#define o01 "((-5.1)*x*y)" +#define dZ1 0,q7"/pow" +#define dY1 If_extract_mul +#define dX1 If_extract_min +#define dW1 If_extract_add +#define dV1 If_extract_abs +#define dU1 "(y+6))" +#define dT1 mM2"*y)" +#define dS1 "_rev",o6 +#define dR1 Addmulconstmul +#define dQ1 N(0.05)qM qB +#define dP1 d01 h42 +#define dO1 qW fp_nequal( +#define dN1 fp_lessOrEq( +#define dM1 -6,6,N(0.5)qM,qG +#define dL1 q0(4l qP +#define dK1 q0(4l qF +#define dJ1 "(x"dI3"y"o02 +#define dI1 "*(if"hQ1")" +#define dH1 d9"powx" +#define dG1 "(2))"}, +#define dF1 " cos(x-pi*" +#define dE1 ",y"q6"/pow" +#define dD1 "*(5+"o6 +#define dC1 fp_not(-fp_not( +#define dB1 1 mK1 +#define dA1 If_extract_mul2 +#define d91 If_extract_mul1 +#define d81 If_extract_add2 +#define d71 If_extract_add1 +#define d61 fp_notNot(x +#define d51 fp_abs(x qP +#define d41 ">=4)"dJ3 +#define d31 0x0001)*fp_less( +#define d21 *x,q0(25l qP +#define d11 userDefFuncSqr(( +#define d01 q0(5l) +#define hZ1 ") + 8*(" +#define hY1 )+x;}q3 +#define hX1 },{1,0,1,1 qM,hG +#define hW1 qW logf( +#define hV1 fp_int(q0( +#define hU1 gC1 5l);}q3 +#define hT1 *d01;}q3 +#define hS1 5l),dI2+x +#define hR1 x),-gL) +#define hQ1 "(1,1,1" +#define hP1 "*(if(1,0,0)" +#define hO1 gD"cmpzz_pow" +#define hN1 "(x <= y)" +#define hM1 Cmpzz_minmax_rev +#define hL1 " if(x" +#define hK1 Cmpzz_addadd_imm +#define hJ1 Cmpne_minmax_rev +#define hI1 Cmpne_addadd_imm +#define hH1 Cmplt_minmax_rev +#define hG1 Cmplt_addadd_imm +#define hF1 Cmple_minmax_rev +#define hE1 Cmple_addadd_imm +#define hD1 Cmpgt_minmax_rev +#define hC1 Cmpgt_addadd_imm +#define hB1 Cmpge_minmax_rev +#define hA1 Cmpge_addadd_imm +#define h91 Cmpeq_minmax_rev +#define h81 Cmpeq_addadd_imm +#define h71 " "mM2 +#define h61 o7"+y)" +#define h51 40,40,3 qM,qG +#define h41 "((1/ abs(b))*" +#define h31 If_extract_or2_l, +#define h21 If_extract_or1_l, +#define h11 Cmpzz_mul_imm_pos +#define h01 Cmpzz_mul_imm_neg +#define gZ1 Cmpzz_add_reduce, +#define gY1 Cmpne_mul_imm_pos +#define gX1 Cmpne_mul_imm_neg +#define gW1 Cmpne_add_reduce, +#define gV1 Cmplt_mul_imm_pos +#define gU1 Cmplt_mul_imm_neg +#define gT1 Cmplt_add_reduce, +#define gS1 Cmple_mul_imm_pos +#define gR1 Cmple_mul_imm_neg +#define gQ1 Cmple_add_reduce, +#define gP1 Cmpgt_mul_imm_pos +#define gO1 Cmpgt_mul_imm_neg +#define gN1 Cmpgt_add_reduce, +#define gM1 Cmpge_mul_imm_pos +#define gL1 Cmpge_mul_imm_neg +#define gK1 Cmpge_add_reduce, +#define gJ1 Cmpeq_mul_imm_pos +#define gI1 Cmpeq_mul_imm_neg +#define gH1 Cmpeq_add_reduce, +#define gG1 ,qH"/" +#define gF1 ,true qB +#define gE1 ,N(0.5,0.0)qM, +#define gD1 N(6.0,0.0)gE1 qG +#define gC1 )+q0( +#define gB1 fp_acos(x +#define gA1 gB1),gL) +#define g91 log(x+sqrt(x*x +#define g81 "acos(x)" +#define g71 "pow(-4,y))" +#define g61 {1 aG N(0.41)qM q4 +#define g51 "(x))"}, +#define g41 gG3*mflit1_5) +#define g31 d2r(1.1l)d1 +#define g21 d2r(1.1f)d1 +#define g11 d2r(x mD2 +#define g01 fp_greater( +#define qZ1 fp_tanh(x), +#define qY1 x*x),-q0(16l +#define qX1 x*x),q0(16l +#define qW1 gO3),- +#define qV1 fp_asin(x), +#define qU1 hJ x+y+x+x-z+x;}q3 #define qT1 "1,0,0)) +" #define qS1 "*(sinh(x)" #define qR1 "*(atan(x)" #define qQ1 "(pow(2,x)" -#define qP1 If_extract_or2_nl, -#define qO1 If_extract_or1_nl, -#define qN1 If_extract_and2_l, -#define qM1 If_extract_and1_l, -#define qL1 fp_less(y,q0(1l -#define qK1 o11 q0( -#define qJ1 {1,-4,4,gH3 -#define qI1 "(sin(x)+cos(y" -#define qH1 "(x),floor(x))+" -#define qG1 ") + cos(x+pi*" -#define qF1 "if(1,-1,0))"}, -#define qE1 6,6,mY1,qG -#define qD1 N(1.0,0.0)qN,q2 -#define qC1 m91)+mflit1_2) -#define qB1 )*mA2 +#define qP1 ,N(0.0,0.0)qK +#define qO1 If_extract_or2_nl, +#define qN1 qN"if_ex" +#define qM1 ,"(x > y)" +#define qL1 If_extract_or1_nl, +#define qK1 If_extract_and2_l, +#define qJ1 If_extract_and1_l, +#define qI1 fp_less(y,q0(1l +#define qH1 dN1 q0( +#define qG1 "(sin(x)+cos(y" +#define qF1 "(x),floor(x))+" +#define qE1 ") + cos(x+pi*" +#define qD1 "if(1,-1,0))"}, +#define qC1 0,4,N(0.1)qM q4 +#define qB1 (fp_sin(y),gG3)): #define qA1 fp_not(x)*fp_not(y) -#define q91 ,oF2 gB-x:x wX -#define q81 *x*x,-q0(125l -#define q71 gQ"cmpzz_pow" -#define q61 "pow(1.5,x))" -#define q51 If_extract_and2_nl, -#define q41 If_extract_and1_nl, -#define q31 Cmpzz_mulmul_imm_pos -#define q21 Cmpzz_mulmul_imm_neg -#define q11 Cmpne_mulmul_imm_pos -#define q01 Cmpne_mulmul_imm_neg -#define mZ Cmplt_mulmul_imm_pos -#define mY Cmplt_mulmul_imm_neg -#define mX Cmple_mulmul_imm_pos -#define mW Cmple_mulmul_imm_neg -#define mV Cmpgt_mulmul_imm_pos -#define mU Cmpgt_mulmul_imm_neg -#define mT Cmpge_mulmul_imm_pos -#define mS Cmpge_mulmul_imm_neg -#define mR Cmpeq_mulmul_imm_pos -#define mQ Cmpeq_mulmul_imm_neg -#define mP qW1 q0(0l -#define mO gM3" " -#define mN +q0(0x0020)*qB2 -#define mM N(0.01)qN qB -#define mL fp_abs(b) -#define mK x),-q0(2l -#define mJ qK"if_ex" -#define mI ,N(-1.0,0.0)qV -#define mH gG3 q6"/" -#define mG 2,-2,2,gR -#define mF q0(1.0l) -#define mE fp_cos(x -#define mD N(0.1)qN qB -#define mC log(1.1+sqrt(1.1* -#define mB {1,-36,36,gH3 -#define mA {1,0,4,N(0.1)qN q4 -#define m9 )*(wV1+( -#define m8 ,"(x < y)" -#define m7 ">=4"q82 -#define m6 "(x"hB3"y)" -#define m5 +q0(0x0010)*fp_nequal( -#define m4 qI 1.1l),x)*q0(4.1l qU -#define m3 +q0(0x0008)*fp_greaterOrEq( -#define m2 +q0(0x0004)*g11 -#define m1 qT logl( -#define m0 N(1e-6),400,mD -#define aZ 40000,40000,5 -#define aY fp_cos(y -#define aX x*x,-q0(125l qU -#define aW 0,q7"/sin" -#define aV aT,q0(4l)gB -#define aU x);}q3 -#define aT fp_less(x -#define aS q0(4l)*d5 -#define aR g4 q0(4l -#define aQ g4-q0(4l -#define aP "^6.1))" -#define aO ">=-2) + 32" -#define aN "+ 8" -#define aM "+ 4" -#define aL "+ 2" -#define aK "<-2)"gS3"4" -#define aJ "exp2(x)" -#define aI "exp(x)" -#define aH "*((1-x+x+5)" -#define aG -10,10,N(0.8)qN q4 -#define aF "x,y",g9 -#define aE +q0(0x0002)*o11 -#define aD fp_or oK2),fp_not(y -#define aC (fp_truth( -#define aB -2,2,1 qN,qG -#define aA {2,-g0 -#define a9 d4 2 qN,q5 -#define a8 qY"0004 *" -#define a7 ")"o41 -#define a6 qY"0002 *" -#define a5 qX"+y+"qO2"z" -#define a4 oC,"03unit_constants/" -#define a3 fp_and oK2),fp_not(y -#define a2 )+m91 -#define a1 d81)*fp_notNot(y) -#define a0 ">-2) +"h42 -#define wZ "<=-2) +"wW2 -#define wY ,qH"/" -#define wX )dR2 -#define wW gA1}, -#define wV mA2(q0(-5.1l))*x -#define wU {1 oJ N(0.1)qN q4 -#define wT qO mA2(mflitm5_1)*x*y, -#define wS N(-1.25),N(1.25),hF2 -#define wR qW-gX),q0(0.0625l -#define wQ "0.75)) +" -#define wP wK2 q6"/" -#define wO mflit1_1)hW -#define wN ,"02unit_functions" -#define wM 0 aS2 -#define wL A_very_long_variable_name_1 -#define wK "*((x*x)" -#define wJ "log2(x)" -#define wI N(6.0,0.0),N(0.5,0.0)qN,qG -#define wH q61}, -#define wG "((x*" -#define wF {2 m72 -#define wE {2,qJ -#define wD 1 a01 -#define wC dI1),mB2 y+dI1 qU -#define wB qI 2l),x),qI-4l),y -#define wA qT fp_greaterOrEq( -#define w9 " + 16" -#define w8 "(2)) +" -#define w7 N(-7.25),N(7.25),mY1,qG -#define w6 ,q0(1)/q0( -#define w5 d4 mY1 q4 -#define w4 fp_exp(x),-q0(4l -#define w3 "((-1.061)^x))" -#define w2 "(1.061^(x/3)))" -#define w1 ,dI1/q0( -#define w0 5.0625l),qI 1.5l),x -#define oZ 4l)*y,q0(6l -#define oY fp_nequal(x -#define oX m91),q0( -#define oW fp_abs(x),q0( -#define oV "(x))"gS3"4" -#define oU mU2"*(" -#define oT g73 x),-q0(4l -#define oS qY"0008 *" -#define oR "sin(x))"gS3"4*(sin(x)" -#define oQ h4"(x/3))" -#define oP {2,q8 -#define oO {2,3,5,mY1,q2 -#define oN ,"0x0001 *" -#define oM "99misc/" -#define oL x=vars[2],&y=vars[3]qA(dW aC y gB -#define oK *oF2+y*q0(0l dR2 -#define oJ ,-3,3, -#define oI 1 oJ mY1 q4 -#define oH N(0.5),3,mY1 q4 -#define oG g11 x -#define oF gX*qK1 -#define oE "50regressions/" -#define oD 0 w11 -#define oC ,0,"x" -#define oB 0 a4 -#define oA gD hV1),qI -#define o9 qI-gD), -#define o8 /gX*x*-qJ2 -#define o7 /gX*x*qJ2 -#define o6 fp_exp(x),fp_exp(gX -#define o5 3 mI -#define o4 "*(tanh(x)" -#define o3 "*((x/2*x*" -#define o2 "*(log" -#define o1 "*(a"qA2 -#define o0 "*("q92 -#define dZ x*x*x*x*x -#define dY "((x+4" -#define dX "if(x" -#define dW fp_truth(x gB -#define dV " + 0x0020 * " -#define dU o11 x -#define dT "(x^-6.1)) +" -#define dS wR qU -#define dR (x wX 4l)*fp_less( -#define dQ "<4, cos(y),sin(y+1" -#define dP "((((x*5/2)+x*x-2))" -#define dO ",y,z"q6"/if_ex" -#define dN "1.1)+x"}, -#define dM qW-g13),-q0(0.015625l -#define dL N(-3.0,0.0),qO3 qD1 -#define dK wB qU -#define dJ fp_sinh(x),fp_sinh(gX -#define dI g73 x),g73 gX -#define dH fp_atan(x),fp_atan(gX -#define dG 1l)-x+x+qJ2 -#define dF "*(log10(x)" -#define dE N(-7.25,0.0),N(7.25,0.0),N(0.5,0.0)qN,qG -#define dD w0 qU -#define dC (x hD3 hD3+x+x g3+y+z+y+z+y+z+y+z) -#define dB 8l)*fp_greaterOrEq(q0( +#define q91 "pow(1.5,x))" +#define q81 If_extract_and2_nl, +#define q71 If_extract_and1_nl, +#define q61 )*(d01+( +#define q51 {2,-460,100,8 qM,qG +#define q41 (aY1)+mflit1_2) +#define q31 ,gM2 gJ x:-x)gC1 +#define q21 Cmpzz_mulmul_imm_pos +#define q11 Cmpzz_mulmul_imm_neg +#define q01 Cmpne_mulmul_imm_pos +#define mZ Cmpne_mulmul_imm_neg +#define mY Cmplt_mulmul_imm_pos +#define mX Cmplt_mulmul_imm_neg +#define mW Cmple_mulmul_imm_pos +#define mV Cmple_mulmul_imm_neg +#define mU Cmpgt_mulmul_imm_pos +#define mT Cmpgt_mulmul_imm_neg +#define mS Cmpge_mulmul_imm_pos +#define mR Cmpge_mulmul_imm_neg +#define mQ Cmpeq_mulmul_imm_pos +#define mP Cmpeq_mulmul_imm_neg +#define mO " " +#define mN +q0(0x0020)*fp_equal( +#define mM 40000,40000,5 +#define mL N(0.01)qM qB +#define mK dE x:y);}q3 +#define mJ ((x*q0(g8 +#define mI fp_abs(b) +#define mH fp_exp2(x),- +#define mG mN2 q6"/" +#define mF 2,-2,2,gQ +#define mE (fp_truth( +#define mD ,"(x"dH3"y)" +#define mC wQ2 q6"/" +#define mB gH3 x +#define mA N(0.1)qM qB +#define m9 qX3+sqrt(1.1* +#define m8 "(1.1"gH qM q4 +#define m7 "(x >= y)" +#define m6 +q0(0x0010)*fp_nequal( +#define m5 ,gM2 gJ-x:x)gC1 +#define m4 qI 1.1l),x)*q0(4.1l qP +#define m3 "+ 32" +#define m2 +q0(0x0008)*fp_greaterOrEq( +#define m1 +q0(0x0004)*g01 +#define m0 qW logl( +#define aZ N(1e-6),400,mA +#define aY aX,h22 gJ +#define aX fp_less(x +#define aW x*x,-q0(125l qP +#define aV qW fp_greaterOrEq( +#define aU "^6.1))" +#define aT ">=-2) + 32" +#define aS "<-2)"h03"4" +#define aR "exp(x)" +#define aQ "*((1-x+x+5)" +#define aP -10,10,N(0.8)qM q4 +#define aO +q0(0x0002)*dN1 +#define aN fp_or(fp_not(x),fp_not(y +#define aM {2,-g2 +#define aL d6 2 qM,q5 +#define aK 0,q7"/sin" +#define aJ ,N(-1.0,0.0)qK +#define aI {1,N(0.5),3,oZ +#define aH N(-.1),gQ3 N(0.01)qM q4 +#define aG ,-3,3, +#define aF {1 aG oZ +#define aE g1"0004 *" +#define aD g1"0010 * " +#define aC g1"0002 *" +#define aB *x*x,-q0(125l)gC1 +#define aA qX"+y+"qD2"z" +#define a9 fp_and(fp_not(x),fp_not(y +#define a8 d61)*fp_notNot(y) +#define a7 /gL*x*-d01), +#define a6 /gL*x*d01), +#define a5 ">-2) +"gS2 +#define a4 "<=-2) +"a22 +#define a3 g71}, +#define a2 )+aY1 +#define a1 fp_pow((q0(-5.1l))*x +#define a0 q0(1.0l) +#define wZ qL fp_pow((mflitm5_1)*x*y, +#define wY N(-1.25),N(1.25),hA2 +#define wX "0.75)) +" +#define wW mflit1_1)d1 +#define wV (4l),y gJ3 +#define wU ,0 g5 +#define wT dW,"03unit_constants/" +#define wS ,"02unit_functions" +#define wR 0 mC2 +#define wQ ,g42 q0( +#define wP A_very_long_variable_name_1 +#define wO "*((x*x)" +#define wN "log2(x)" +#define wM "1.1)+x"}, +#define wL "1.1"gH,aW2 +#define wK q91}, +#define wJ "((x*" +#define wI -2,2,1 qM,qG +#define wH {2 w42 +#define wG {2,qJ +#define wF dF3"16" +#define wE dF3"8" +#define wD dF3"4" +#define wC dF3"2" +#define wB 1 qM q4 +#define wA x);}q3 +#define w9 "(2)) +" +#define w8 N(-7.25),N(7.25),N(0.5)qM,qG +#define w7 ,q0(1)/q0( +#define w6 "((-1.061)^x))" +#define w5 "(1.061^(x/3)))" +#define w4 qO-gL),q0(0.0625l)gC1 +#define w3 fp_nequal(x +#define w2 x)gC1 4l)*fp_less +#define w1 aY1),q0( +#define w0 fp_abs(x),q0( +#define oZ N(0.5)qM q4 +#define oY 1 d6 oZ +#define oX {1 aG N(0.1)qM q4 +#define oW 0 wT +#define oV g1"0008 *" +#define oU "sin(x))"h03"4*(sin(x)" +#define oT h3"(x/3))" +#define oS *gM2+y*q0(0l gC1 +#define oR qI 2l),x),qI-4l),y)) +#define oQ (qC g4 +#define oP gB1),q0( +#define oO "*(tanh(x)" +#define oN "*(log" +#define oM "*(a"q42 +#define oL "*("g81 +#define oK 5.0625l),qI 1.5l),x)) +#define oJ x=vars[2],&y=vars[3]qA(o5 mE y gJ +#define oI g01 x +#define oH gL*qH1 +#define oG {2,q8 +#define oF "50regressions/" +#define oE oB2),qI-gB3 +#define oD gO3),fp_exp(gL +#define oC 3 aJ +#define oB "(x))"h03"4*(" +#define oA "*((x/2*x*" +#define o9 "*(exp2(x)" +#define o8 ")"q22"*(" +#define o7 "((x+4" +#define o6 "if(x" +#define o5 fp_truth(x gJ +#define o4 dN1 x +#define o3 "(x^-6.1)) +" +#define o2 x*x*x*x*x +#define o1 qO-gL),q0(0.0625l qP +#define o0 "<4, cos(y),sin(y+1" +#define dZ "((((x*5/2)+x*x-2))" +#define dY ,"99misc/" +#define dX a51 dY +#define dW ,0,"x" +#define dV dW dY +#define dU ",y,z"q6"/if_ex" +#define dT N(-3.0,0.0),g73 gL2 +#define dS N(-2.0,0.0),qE2 gE1 q2 +#define dR qI 2l),x),qI-4l),y qP +#define dQ fp_sinh(x),fp_sinh(gL +#define dP (fp_cos aL2)),fp_sin aL2)qP +#define dO /dI2,qI-gB3 +#define dN fp_exp2(x),fp_exp2(gL +#define dM h22) +#define dL fp_atan(x),fp_atan(gL +#define dK 1l)-x+x+d01),q0(4l +#define dJ "*(log10(x)" +#define dI 5.0625l),qI 1.5l),x qP +#define dH h22*mL2)gC1 +#define dG +h22+mL2 +#define dF h22*mL2 qP +#define dE ,y)!=gM2)? +#define dD " + 0x0020 * " +#define dC ,"0x0001 *" +#define dB ,N(-7.25,0.0),N(7.25,0.0)gE1 qG #define dA "<4, sin(y),cos(y+1))" -#define d9 "*(log2(abs(x))" -#define d8 0 gT"cmp_" -#define d7 ,y)!=oF2)? -#define d6 dM qU -#define d5 y,q0(6l qU -#define d4 ,-1,1, -#define d3 d4 hF2 q4 -#define d2 "pow_imm_pospos_base","(" -#define d1 "pow_imm_pospos",gJ",2)" -#define d0 "pow_imm_posneg",gJ",3)" -#define hZ hL1}, -#define hY fp_greaterOrEq(x -#define hX -1,1,mY1,q2 -#define hW )+x;}q0 -#define hV g4 qW q0(6.1l) -#define hU g4 qW-q0(6.1l) -#define hT "pow_imm_negpos",gJ",-2)" -#define hS "pow_imm_negneg",gJ",-3)" +#define d9 0 g5"cmp_" +#define d8 gC1 8l)*fp_greaterOrEq(q0( +#define d7 qO-dI2,-q0(0.015625l +#define d6 ,-1,1, +#define d5 d6 hA2 q4 +#define d4 "pow_imm_pospos_base","(" +#define d3 "pow_imm_pospos",gO",2)" +#define d2 ,0 wU +#define d1 )+x;}q0 +#define d0 "pow_imm_posneg",gO",3)" +#define hZ ,0,1,wB +#define hY dU1}, +#define hX fp_greaterOrEq(x +#define hW "*(log2(abs(x))" +#define hV gG qO q0(6.1l) +#define hU gG qO-q0(6.1l) +#define hT "pow_imm_negpos",gO",-2)" +#define hS "pow_imm_negneg",gO",-3)" #define hR "*(log10(abs(x))" -#define hQ 1.061l),x +#define hQ oE2 2 qM,q2 #define hP fp_log( -#define hO 2,N(0.0,0.0)qV -#define hN 2,N(-3.0,0.0),qO3 oJ2 qN,q2 -#define hM g01 fp_tanh(q0(0.75l) -#define hL qX1 fp_asin(q0(0.75l) -#define hK qW1 fp_acos(q0(0.75l) -#define hJ cpp_03unit_constants:: -#define hI {2,N(-4.0,0.0),mT1 qD1 -#define hH "powpow_imm_base",qQ1 -#define hG {1,-5,5,2 qN,q2 -#define hF "a,b",qE -#define hE {1,wO2 3,hF2 q4 -#define hD "(x)"},{1, -#define hC fp_log2( -#define hB (qD,&y oI2,&z=vars[2]qA -#define hA 0x0001l)*fp_less( -#define h9 N(-1.75),N(1.75),hF2,qG -#define h8 qW-q0(2)),mflit0_0625) -#define h7 N(1e-6,0.0),N(4000.0,0.0),N(0.1,0.0)qN qB -#define h6 "*((x^5.1)" -#define h5 "*((x^-5.1" -#define h4 "*((2.051^" -#define h3 wG"5/2)+abs(x)))" -#define h2 qO3 N(5.0,0.0),N(0.5,0.0)qN,q2 -#define h1 fp_log10( -#define h0 ")+x"},{1,0,1,1,true q4 -#define gZ 0x0004l)*g11 -#define gY mflit5_0625,mA2 mflit1_5,x)) -#define gX q0(2l) -#define gW ",y","10optimizer_bytecode/" -#define gV (mflit1_1 hW -#define gU ,N(-1.0,0.0),mF1 N(0.5,0.0)qN,q2 -#define gT ,q7"/" -#define gS ,0,1,gH3 -#define gR 1 qN,q2 -#define gQ 0,oQ1 -#define gP q0(0x0020l)*qB2 -#define gO q0(4l),y+q0(6l -#define gN qT q0:: -#define gM N(-6.0,-3.0),N(6.0,+3.0),N(0.5,+0.25)qN,qG -#define gL -gE3,-mflit0_015625) -#define gK wX 0x0002l)*o11 -#define gJ "(pow(x" -#define gI +q0(0x0010l)*fp_nequal( -#define gH N(-1.75,0.0),N(1.75,0.0),N(0.25,0.0)qN,qG -#define gG 0x0008l)*fp_greaterOrEq( +#define hO {2,N(-4.0,0.0),mR1 gL2 +#define hN 2 qP1 +#define hM 2,N(-3.0,0.0),g73 qE2 qM,q2 +#define hL qZ1 fp_tanh aM2 +#define hK qV1 fp_asin aM2 +#define hJ (qD,&y oR2,&z=vars[2]qA +#define hI ),qI gB3/q0(3l) +#define hH gB1),fp_acos aM2 +#define hG cpp_03unit_constants:: +#define hF N(0.5)qM,q2 +#define hE {1,wT2 3,hA2 q4 +#define hD N(-6.0,-3.0),N(6.0,+3.0),N(0.5,+0.25)qM,qG +#define hC "powpow_imm_base",qQ1 +#define hB "a,b",qE +#define hA "(x)"},{1, +#define h9 N(-1.0,0.0),N(1.0,0.0)gE1 q2 +#define h8 fp_log2( +#define h7 0x0001l)*fp_less( +#define h6 N(-1.75),N(1.75),hA2,qG +#define h5 "*((x^5.1)" +#define h4 "*((x^-5.1" +#define h3 "*((2.051^" +#define h2 h22,y+q0(6l qP +#define h1 wJ"5/2)+abs(x)))" +#define h0 -q0(2)),mflit0_0625) +#define gZ g73 N(5.0,0.0)gE1 q2 +#define gY (gK2 gK2 x+x+x+y gA+y+z+y+z+y+z+y+z) +#define gX {1,N(1e-6,0.0),N(4000.0,0.0),N(0.1,0.0)qM qB +#define gW 0x0010l)*fp_nequal( +#define gV mflit1_1 d1 +#define gU fp_log10( +#define gT +q0(0x0020l)*fp_equal( +#define gS 0x0004l)*g01 +#define gR ",y","10optimizer_bytecode/" +#define gQ 1 qM,q2 +#define gP 0x0002l)*dN1 +#define gO "(pow(x" +#define gN mflit5_0625,fp_pow(mflit1_5,x)) +#define gM qO-q0(3)),-mflit0_015625) +#define gL q0(2l) +#define gK N(-1.75,0.0),N(1.75,0.0)oZ1 qM,qG +#define gJ )!=gM2? +#define gI 0x0008l)*fp_greaterOrEq( +#define gH ")+x"},{1,0,1,1 +#define gG q0(5.1l)), #define gF fp_const_pi() -#define gE N(-2.0,0.0),oJ2,qD1 -#define gD 2.051l),x -#define gC fp_abs(x)), -#define gB )!=oF2? -#define gA 5l)/gX)+x*x-gX),((x*wV1/gX)+fp_abs(x) -#define g9 "01unit_operators/" -#define g8 "*(((-2.051)^x)" -#define g7 N(-1.0,0.0),mF1 oJ2 qN,q5 -#define g6 {1,N(-0.7),N(0.7),N(0.28)qN q4 -#define g5 (qC,&b oI2 qA -#define g4 q0(5.1l)), -#define g3 +y+z+y+z+y+z+y+z+y+z -#define g2 oC",y",g9 -#define g1 cpp_50regressions:: -#define g0 15,15,2 qN,q5 -#define qZ qD,&y oI2,&z=vars[2]qA dW -#define qY gS3"0x" -#define qX "+"qO2 qO2"z+y+z" -#define qW mA2 x, -#define qV ,mF1 qD1 -#define qU ));}q3 -#define qT (qD qA -#define qS +q0(8l)*g11 -#define qR +q0(4l)*o11 -#define qQ +q0(16l)*fp_greaterOrEq( -#define qP qD qA dI1*qB2 -#define qO (qD,&y oI2 qA -#define qN ,false -#define qM ))+gX*fp_less( -#define qL ,cpp_99misc:: -#define qK ,oU2 -#define qJ -6,6,gR -#define qI mA2 q0( -#define qH 0,"x"wN +#define gE N(-2.0,0.0),qE2,gL2 +#define gD 0,oK1 +#define gC 2.051l),x +#define gB fp_abs(x)), +#define gA +z+y+z+y+z+y+z+y+z +#define g9 {1,N(-0.7),N(0.7),N(0.28)qM q4 +#define g8 5l)/gL)+x*x-gL),((x*d01/gL)+fp_abs(x) +#define g7 "*(((-2.051)^x)" +#define g6 N(-1.0,0.0),N(1.0,0.0),qE2 qM,q5 +#define g5 ,q7"/" +#define g4 ,&b oR2 qA +#define g3 cpp_50regressions:: +#define g2 15,15,2 qM,q5 +#define g1 h03"0x" +#define g0 ,"01unit_operators/" +#define qZ cpp_99misc:: +#define qY qD,&y oR2,&z=vars[2]qA o5 +#define qX "+"qD2 qD2"z+y+z" +#define qW (qD qA +#define qV qD qA q0:: +#define qU +gL*fp_less( +#define qT qD qA q0(1l)*fp_equal( +#define qS +q0(16l)*fp_greaterOrEq( +#define qR +q0(8l)*g01 +#define qQ +h22*dN1 +#define qP ));}q3 +#define qO fp_pow(x, +#define qN ,w12 +#define qM ,false +#define qL (qD,&y oR2 qA +#define qK ,N(1.0,0.0),gL2 +#define qJ -6,6,gQ +#define qI fp_pow(q0( +#define qH 0,"x"wS #define qG cpp_01unit_operators:: -#define qF wX 32l)*fp_nequal( +#define qF )gC1 32l)*fp_nequal( #define qE "11optimizer_constaddmul/" -#define qD gV2 q1 -#define qC gV2*vars){gV2&a=vars[0] +#define qD gC2 q1 +#define qC gC2*vars){gC2&a=vars[0] #define qB ,cpp_02unit_functions:: #define qA ;return -#define q9 N(-15.0,0.0),N(15.0,0.0),oJ2 qN,q5 -#define q8 N(-6.0,0.0),N(6.0,0.0),qD1 +#define q9 N(-15.0,0.0),N(15.0,0.0),qE2 qM,q5 +#define q8 N(-6.0,0.0),N(6.0,0.0),gL2 #define q7 "x","10optimizer_bytecode" #define q6 ,"20optimizer_optimizations" #define q5 cpp_11optimizer_constaddmul:: #define q4 ,cpp_10optimizer_bytecode:: #define q3 templatestatic q0 #define q2 cpp_20optimizer_optimizations:: -#define q1 *vars){gV2&x=vars[0] +#define q1 *vars){gC2&x=vars[0] #define q0 Value_t #define APP(x,y) x##y -#define S {2,-h41 Add_i,0,qG Add_i,aF"add_i","x+y"}, -#define T {3,-h41 Addsub_i,0,qG Addsub_i,gG3,g9"addsub_i","x+y+x+x-z+x"}, -#define U {2,aB And_i,0,qG And_i,aF"and_i","x&y"}, -#define W {2,aB Cmpeq_i,0,qG Cmpeq_i,aF"cmpeq_i","x=y"}, -#define Y {2,aB Cmpge_i,0,qG Cmpge_i,aF"cmpge_i","x>=y"}, -#define S1 {2,aB Cmpgt_i,0,qG Cmpgt_i,aF"cmpgt_i","x>y"}, -#define T1 {2,aB Cmple_i,0,qG Cmple_i,aF"cmple_i","x<=y"}, -#define U1 {2,aB Cmplt_i,0,qG Cmplt_i,aF"cmplt_i","x y"g31 -#define U9 {2 gS Not_le q4 Not_le q4 Not_le,oL2"not_le","!"oY2 -#define W9 {2 gS Not_lt q4 Not_lt q4 Not_lt,oL2"not_lt","!(x < y"g31 -#define Y9 {2 gS Not_ne q4 Not_ne q4 Not_ne,oL2"not_ne","!"oT1 -#define SA {wD Notnot q4 Notnot q4 Notnot gT"notnot","!!(x)"}, -#define TA {wD hH2 q4 hH2 q4 hH2 gT"notnotnot","!!!(x)"}, -#define UA {wD qT2 q4 qT2 q4 qT2 gT"notnotnot2","!x&!x"}, -#define WA {wD mI2 q4 mI2 q4 mI2 gT"sqr_nxx","(-x)*x"}, -#define YA {wD mJ2 q4 mJ2 q4 mJ2 gT"sqr_xnx","x*(-x)"}, -#define SB {wD Sqr_xx q4 Sqr_xx q4 Sqr_xx gT"sqr_xx","x*x"}, -#define TB {2 a01 oM2 q4 oM2 q4 oM2,oL2"sqr_ynxx","y*-x*x"}, -#define UB {2 a01 oN2 q4 oN2 q4 oN2,oL2"sqr_yxnx","y*x*-x"}, -#define WB {2 a01 mK2 q4 mK2 q4 mK2,oL2"sqr_yxx","y*x*x"}, -#define YB {1,-5,5,gH3 Xaddnot q4 Xaddnot q4 wH2 q7"/xaddnot","!(x+4"g31 -#define SC {1,-5,5,1 qN w31 w31 w31,q7"/xaddnotnot","!!(x+4"g31 -#define TC {wD Xxdup q4 Xxdup q4 Xxdup,q7"/xxdup","sub(x,x)"}, -#define UC {2 a01 oO2 q4 oO2 q4 oO2,"x,y","10optimizer_bytecode/xxsqrdup","y*abs(x)*"gY2}, -#define WC {1,-5,5,gR oP2 q2 oP2 q2 oP2 oQ1"absnzge","sub("gY2 hB3"if("oQ2"), abs(x)"hB3"(if(1,1,0)-1))"}, -#define YC {1,-5,5,gR oR2 q2 oR2 q2 oR2 oQ1"absnzlt","sub("gY2" < if("oQ2"), abs(x) < (if(1,1,0)-1))"}, -#define SD {a11 mH1,q2 mH1,q2 mH1 qK"addconstmul","5*(if("oQ2")+x+y"g31 -#define TD {a11 o21,q2 o21,q2 o21 qK"addmulconstmul","5*(if("oQ2")*y+x)"}, -#define UD {a11 a21,q2 a21,q2 a21 qK"addnegmulneg","-5 + (if(1,5,0)*x*y"g31 -#define WD {a11 a31,q2 a31,q2 a31 qK"addnegmulpos","(if(1,-5,0)*"aU2" (if(1,5,0)*x)"}, -#define YD wE w41,q2 w41,q2 w41 qK"cmpeq_add_imm",h61 hI2 -#define SE {1,qJ gG1 q2 gG1 q2 gG1 oQ1"cmpeq_add_reduce",dP" = "h3}, -#define TE wE h71,q2 h71,q2 h71 qK"cmpeq_addadd_imm",dY") = "hZ -#define UE wF a41,q2 a41,q2 a41 qK"cmpeq_minma"oS2" = "h13 -#define WE wF h81,q2 h81,q2 h81 qK"cmpeq_minma"oV2" = "gO3}, -#define YE wE gH1,q2 gH1,q2 gH1 qK"cmpeq_mul_imm_neg",oW2 hI2 -#define SF wE gI1,q2 gI1,q2 gI1 qK"cmpeq_mul_imm_pos",a61 hI2 -#define TF wE mQ,q2 mQ,q2 mQ qK"cmpeq_mulmul_imm_neg",qU2" = "hZ -#define UF wE mR,q2 mR,q2 mR qK"cmpeq_mulmul_imm_pos",oX2" = "hZ -#define WF wE w51,q2 w51,q2 w51 qK"cmpge_add_imm",h61 qV2 -#define YF {1,qJ gJ1 q2 gJ1 q2 gJ1 oQ1"cmpge_add_reduce",dP hB3 h3}, -#define SG wE h91,q2 h91,q2 h91 qK"cmpge_addadd_imm",dY")"hB3 hZ -#define TG wF a71,q2 a71,q2 a71 qK"cmpge_minma"oS2 hB3 h13 -#define UG wF hA1,q2 hA1,q2 hA1 qK"cmpge_minma"oV2 hB3 gO3}, -#define WG wE gK1,q2 gK1,q2 gK1 qK"cmpge_mul_imm_neg",oW2 qV2 -#define YG wE gL1,q2 gL1,q2 gL1 qK"cmpge_mul_imm_pos",a61 qV2 -#define SH wE mS,q2 mS,q2 mS qK"cmpge_mulmul_imm_neg",qU2 hB3 hZ -#define TH wE mT,q2 mT,q2 mT qK"cmpge_mulmul_imm_pos",oX2 hB3 hZ -#define UH wE w61,q2 w61,q2 w61 qK"cmpgt_add_imm",h61 hJ2 -#define WH {1,qJ gM1 q2 gM1 q2 gM1 oQ1"cmpgt_add_reduce",dP" > "h3}, -#define YH wE hB1,q2 hB1,q2 hB1 qK"cmpgt_addadd_imm",dY") > "hZ -#define SI wF a81,q2 a81,q2 a81 qK"cmpgt_minma"oS2" > "h13 -#define TI wF hC1,q2 hC1,q2 hC1 qK"cmpgt_minma"oV2" > "gO3}, -#define UI wE gN1,q2 gN1,q2 gN1 qK"cmpgt_mul_imm_neg",oW2 hJ2 -#define WI wE gO1,q2 gO1,q2 gO1 qK"cmpgt_mul_imm_pos",a61 hJ2 -#define YI wE mU,q2 mU,q2 mU qK"cmpgt_mulmul_imm_neg",qU2" > "hZ -#define SJ wE mV,q2 mV,q2 mV qK"cmpgt_mulmul_imm_pos",oX2" > "hZ -#define TJ wE w71,q2 w71,q2 w71 qK"cmple_add_imm",h61 qW2 -#define UJ {1,qJ gP1 q2 gP1 q2 gP1 oQ1"cmple_add_reduce",dP hJ3 h3}, -#define WJ wE hD1,q2 hD1,q2 hD1 qK"cmple_addadd_imm",dY")"hJ3 hZ -#define YJ wF a91,q2 a91,q2 a91 qK"cmple_minma"oS2 hJ3 h13 -#define SK wF hE1,q2 hE1,q2 hE1 qK"cmple_minma"oV2 hJ3 gO3}, -#define TK wE gQ1,q2 gQ1,q2 gQ1 qK"cmple_mul_imm_neg",oW2 qW2 -#define UK wE gR1,q2 gR1,q2 gR1 qK"cmple_mul_imm_pos",a61 qW2 -#define WK wE mW,q2 mW,q2 mW qK"cmple_mulmul_imm_neg",qU2 hJ3 hZ -#define YK wE mX,q2 mX,q2 mX qK"cmple_mulmul_imm_pos",oX2 hJ3 hZ -#define SL wE w81,q2 w81,q2 w81 qK"cmplt_add_imm",h61 hK2 -#define TL {1,qJ gS1 q2 gS1 q2 gS1 oQ1"cmplt_add_reduce",dP" < "h3}, -#define UL wE hF1,q2 hF1,q2 hF1 qK"cmplt_addadd_imm",dY") < "hZ -#define WL wF aA1,q2 aA1,q2 aA1 qK"cmplt_minma"oS2" < "h13 -#define YL wF hG1,q2 hG1,q2 hG1 qK"cmplt_minma"oV2" < "gO3}, -#define SM wE gT1,q2 gT1,q2 gT1 qK"cmplt_mul_imm_neg",oW2 hK2 -#define TM wE gU1,q2 gU1,q2 gU1 qK"cmplt_mul_imm_pos",a61 hK2 -#define UM wE mY,q2 mY,q2 mY qK"cmplt_mulmul_imm_neg",qU2" < "hZ -#define WM wE mZ,q2 mZ,q2 mZ qK"cmplt_mulmul_imm_pos",oX2" < "hZ -#define YM wE w91,q2 w91,q2 w91 qK"cmpne_add_imm",h61 qX2 -#define SN {1,qJ gV1 q2 gV1 q2 gV1 oQ1"cmpne_add_reduce",dP aZ2 h3}, -#define TN wE hH1,q2 hH1,q2 hH1 qK"cmpne_addadd_imm",dY")"aZ2 hZ -#define UN wF aB1,q2 aB1,q2 aB1 qK"cmpne_minma"oS2 hC3 h13 -#define WN wF hI1,q2 hI1,q2 hI1 qK"cmpne_minma"oV2 hC3 gO3}, -#define YN wE gW1,q2 gW1,q2 gW1 qK"cmpne_mul_imm_neg",oW2 qX2 -#define SO wE gX1,q2 gX1,q2 gX1 qK"cmpne_mul_imm_pos",a61 qX2 -#define TO wE q01,q2 q01,q2 q01 qK"cmpne_mulmul_imm_neg",qU2 aZ2 hZ -#define UO wE q11,q2 q11,q2 q11 qK"cmpne_mulmul_imm_pos",oX2 aZ2 hZ -#define WO wE wA1,q2 wA1,q2 wA1 qK"cmpzz_add_imm"oN m02 hL2 m02 qY2 m02 hO2 m02 hP2 m02 qZ2 h61 hI2 -#define YO {1,qJ gY1 q2 gY1 q2 gY1 oQ1"cmpzz_add_reduce"oN" "dP" < "h3 a6" "dP hJ3 h3 a8" "dP" > "h3 oS" "dP hB3 h3 o41" "dP aZ2 h3 dV dP" = "h3}, -#define SP wE hJ1,q2 hJ1,q2 hJ1 qK"cmpzz_addadd_imm"oN" "dY aC1" "dY aD1" "dY aE1" "dY aF1" "dY aG1 dY") = "hZ -#define TP wF aH1,q2 aH1,q2 aH1 qK"cmpzz_minmax"oN hK1" < "hE3 a6 hK1 hJ3 hE3 a8 hK1" > "hE3 oS hK1 hB3"y,x,y"a7 hK1 hC3 hE3" + 0x0020 *"hK1" = "h13 -#define UP wF hO1,q2 hO1,q2 hO1 qK"cmpzz_minmax_rev"oN hK1" < "gO3 a6 hK1 hJ3 gO3 a8 hK1" > "gO3 oS hK1 hB3 gO3 o41 hK1 hC3 gO3" + 0x0020 *"hK1" = "gO3}, -#define WP wE gZ1,q2 gZ1,q2 gZ1 qK"cmpzz_mul_imm_neg"oN mZ1 hL2 mZ1 qY2 mZ1 hO2 mZ1 hP2 mZ1 qZ2 oW2 hI2 -#define YP wE h01,q2 h01,q2 h01 qK"cmpzz_mul_imm_pos"oN q02 hL2 q02 qY2 q02 hO2 q02 hP2 q02 qZ2 a61 hI2 -#define SQ wE q21,q2 q21,q2 q21 qK"cmpzz_mulmul_imm_neg"oN qV1 aC1 qV1 aD1 qV1 aE1 qV1 aF1 qV1 aG1 qU2" = "hZ -#define TQ wE q31,q2 q31,q2 q31 qK"cmpzz_mulmul_imm_pos"oN g81 aC1 g81 aD1 g81 aE1 g81 aF1 g81 aG1 oX2" = "hZ -#define UQ wF hQ2,q2 hQ2,q2 hQ2 qK"ge_and_eq",mL2 oS1 -#define WQ wF hR2,q2 hR2,q2 hR2 qK"ge_and_le",mL2 oY2 -#define YQ wF hS2,q2 hS2,q2 hS2 qK"ge_and_ne",mL2 oT1 -#define SR wF oZ2,q2 oZ2,q2 oZ2 qK"ge_or_eq",mM2 oS1 -#define TR wF w02,q2 w02,q2 w02 qK"ge_or_le",mM2 oY2 -#define UR wF w12,q2 w12,q2 w12 qK"ge_or_ne",mM2 oT1 -#define WR wF hT2,q2 hT2,q2 hT2 qK"gt_and_eq"h02 oS1 -#define YR wF hU2,q2 hU2,q2 hU2 qK"gt_and_ge"h02 m6}, -#define SS wF hV2,q2 hV2,q2 hV2 qK"gt_and_le"h02 oY2 -#define TS wF hW2,q2 hW2,q2 hW2 qK"gt_and_ne"h02 oT1 -#define US wF w22,q2 w22,q2 w22 qK"gt_or_eq"h12 oS1 -#define WS wF w32,q2 w32,q2 w32 qK"gt_or_ge"h12 m6}, -#define YS wF w42,q2 w42,q2 w42 qK"gt_or_le"h12 oY2 -#define ST wF w52,q2 w52,q2 w52 qK"gt_or_ne"h12 oT1 -#define TT m62 If10,q2 If10,q2 If10,oQ1"if10",dX",1,0) + 10*"dX",0,1)"gM3"+ 100*"dX">0,1,0) + 1000*"dX">0,0,1"g31 -#define UT {mG o51,q2 o51,q2 o51 mJ"tract_abs",dX", abs(x+2), abs(y+5))"}, -#define WT {mG o61,q2 o61,q2 o61 mJ"tract_add",dX", y+2, y+"h62 -#define YT {mG d91,q2 d91,q2 d91 mJ"tract_add1",dX", y+2, y"g31 -#define SU {mG dA1,q2 dA1,q2 dA1 mJ"tract_add2",dX", y, y+2"g31 -#define TU {aI1 qM1 q2 qM1 q2 qM1"x"dO"tract_and1_l",dX", y&z, y<1"g31 -#define UU {aI1 q41 q2 q41 q2 q41"x"dO"tract_and1_nl",dX", y&z, z"g31 -#define WU {aI1 qN1 q2 qN1 q2 qN1"x"dO"tract_and2_l",dX", y<1, y&z"g31 -#define YU {aI1 q51 q2 q51 q2 q51"x"dO"tract_and2_nl",dX", z, y&z"g31 -#define SV {mG If_extract_div,0,q2 If_extract_div mJ"tract_div",dX", y/x, y/2"g31 -#define TV {mG o71,q2 o71,q2 o71 mJ"tract_min",dX", min(y,2), min(y,5))"}, -#define UV {mG o81,q2 o81,q2 o81 mJ"tract_mul",dX", y*2, y*"h62 -#define WV {mG dB1,q2 dB1,q2 dB1 mJ"tract_mul1",dX", y*2, y"g31 -#define YV {mG dC1,q2 dC1,q2 dC1 mJ"tract_mul2",dX", y, y*2"g31 -#define SW {aI1 h11 q2 h11 q2 h11"x"dO"tract_or1_l",dX", y|z, y<1"g31 -#define TW {aI1 qO1 q2 qO1 q2 qO1"x"dO"tract_or1_nl",dX", y|z, z"g31 -#define UW {aI1 h21 q2 h21 q2 h21"x"dO"tract_or2_l",dX", y<1, y|z"g31 -#define WW {aI1 qP1 q2 qP1 q2 qP1"x"dO"tract_or2_nl",dX", z, y|z"g31 -#define YW {1,3,5,gR wB1 q2 wB1 q2 wB1 oQ1"if_join_add2","x + 10 +"hK1"<4, 3,4"g31 -#define SX {1,3,5,gR wC1 q2 wC1 q2 wC1 oQ1"if_join_mul2","x * 10 *"hK1"<4, 3,4"g31 -#define TX aQ2 Ifabs,q2 Ifabs,q2 Ifabs,oQ1"ifabs","1"dM1"< 0,-x,"gV3" 10"dM1"<=0,-x,"gV3" 100"dM1"> 0,-x,"gV3"1000"dM1">=0,-x,"mL1 gM3 gM3"10000"dM1"< 0,x"mN2 gM3" 100000"dM1"<=0,x"mN2 gM3" 1000000"dM1"> 0,x"mN2" 10000000"dM1">=0,x,-"mH2 -#define UX {mO2 w62 q2 w62 q2 w62"b,d,"oU2"ifmerge",dX oC2"y,x,b)"oC2"y,x,d)) + if(b,if(d,y,x)"oC2"d,b,"mH2 -#define WX {mO2 hX2 q2 hX2 q2 hX2"a,b,"oU2"ifmerge2",dX oC2"y,a,b)"oC2"b,a,b))"}, -#define YX {mO2 g02 q2 g02 q2 g02"a,b,"oU2"ifmerge2b",dX oC2"y,a,b)"oC2"b,b,a))"}, -#define SY wF Ifnop,q2 Ifnop,q2 Ifnop qK"ifnop",dX",y,y"g31 -#define TY {q12 L_abs,q2 L_abs,q2 L_abs qK"l_abs","(x+2) & abs(x)"oR1 -#define UY {q12 w72,q2 w72,q2 w72 qK"l_mulabs","(x*abs(y))"oR1 -#define WY {q12 w82,q2 w82,q2 w82 qK"l_mulneg","(x*y*-5)"oR1 -#define YY {q12 w92,q2 w92,q2 w92 qK"l_notnot","(x+2) & !!x"oR1 -#define SZ wF hZ2,q2 hZ2,q2 hZ2 qK"le_and_eq",hS3"& "oS1 -#define TZ wF d02,q2 d02,q2 d02 qK"le_and_ne",hS3"& "oT1 -#define UZ wF wA2,q2 wA2,q2 wA2 qK"le_or_eq",hS3"| "oS1 -#define WZ wF wB2,q2 wB2,q2 wB2 qK"le_or_ne",hS3"| "oT1 -#define YZ wF d12,q2 d12,q2 d12 qK"lt_and_eq"d22 oS1 -#define Sa wF d32,q2 d32,q2 d32 qK"lt_and_ge"d22 m6}, -#define Ta wF d42,q2 d42,q2 d42 qK"lt_and_gt"d22"(x > y"g31 -#define Ua wF d52,q2 d52,q2 d52 qK"lt_and_le"d22 oY2 -#define Wa wF d62,q2 d62,q2 d62 qK"lt_and_ne"d22 oT1 -#define Ya wF wC2,q2 wC2,q2 wC2 qK"lt_or_eq"m22 oS1 -#define Sb wF wD2,q2 wD2,q2 wD2 qK"lt_or_ge"m22 m6}, -#define Tb wF wE2,q2 wE2,q2 wE2 qK"lt_or_gt"m22"(x > y"g31 -#define Ub wF wF2,q2 wF2,q2 wF2 qK"lt_or_le"m22 oY2 -#define Wb wF wG2,q2 wG2,q2 wG2 qK"lt_or_ne"m22 oT1 -#define Yb {aI1 aJ1 q2 aJ1 q2 aJ1 mH"mergemulabs","abs(x)*abs(y)*z"}, -#define Sc {3,0,4,gR aK1 q2 aK1 q2 aK1 mH"mixedminmax","max(z,min(x,max(max(z,y),x)))"gS3"10*min(z,max(x,min(y,x)))"gS3"100*min(max(x,y),min(y,z)) + 1000*max(min(x,y),max(y,z))"}, -#define Tc wF Nand2,q2 Nand2,q2 Nand2 qK"nand2",hK3}, -#define Uc {3 m72 g12 q2 g12 q2 g12 mH"nand2plus",hK3" | z"}, -#define Wc {3 m72 Nand3,q2 Nand3,q2 Nand3,mH"nand3",hK3" | !z"}, -#define Yc wF Nor2,q2 Nor2,q2 Nor2 qK"nor2",hL3}, -#define Sd {3 m72 d72 q2 d72 q2 d72 mH"nor2plus",hL3" & z"}, -#define Td {3 m72 Nor3,q2 Nor3,q2 Nor3,mH"nor3",hL3" & !z"}, -#define Ud wF Not_eq,q2 Not_eq,q2 Not_eq qK"not_eq",dX" = "gP3 -#define Wd wF Not_ge,q2 Not_ge,q2 Not_ge qK"not_ge",dX hB3 gP3 -#define Yd wF Not_gt,q2 Not_gt,q2 Not_gt qK"not_gt",dX" > "gP3 -#define Se wF Not_le,q2 Not_le,q2 Not_le qK"not_le",dX hJ3 gP3 -#define Te wF Not_lt,q2 Not_lt,q2 Not_lt qK"not_lt",dX" < "gP3 -#define Ue wF Not_ne,q2 Not_ne,q2 Not_ne qK"not_ne",dX hC3 gP3 -#define We {mG Notnot,q2 Notnot,q2 Notnot qK"notnot","!!x + if(y, 1,0"g31 -#define Ye {1,-5,5,gR wH2 q2 wH2 q2 wH2"x"q6"/xaddnot","!(x+if(1,4,4))"}, -#define Sf {1,-5,5,gR mM1 q2 mM1 q2 mM1"x"q6"/xaddnotnot","!!(x+if(1,4,4))"}, -#define Tf {1,-wD1 t1,g1 t1,g1 t1,m82"1","x+max(0, min(-2,0))"}, -#define Uf {1,-wD1 t2,g1 t2,g1 t2,m82"2","min(x,min(1,"mH2 -#define Wf {1,-mN1 t3,g1 t3,g1 t3,m82"3","sub( (!x & !!x) , (!x | !!x) "g31 -#define Yf {2,-mN1 t4,g1 t4,g1 t4,"x,y",oE"4","sub(!(x-y), !!(x-y))"}, -#define Sg {1,-5,5,gF3 t6,g1 t6,g1 t6,m82"6","sub(!(x+4), !!(x+3))"}, -#define Tg {1,-wD1 t36,g1 t36,g1 t36,m82"36","-if(x<0, x, -x) + -if(x<5, 2, 3"g31 -#define Ug {2,-mN1 t60,g1 t60,g1 t60,"x,y",oE"60","sqr(x) | sub(x,y) | value()"}, -#define Wg {2,-20,20,dU1 t16 qL t16 qL t16,wI2"16",dX"<0, if(y<0, x+y, x-y), if(y>0, x*y, x+2*y))"}, -#define Yg {2,-20,20,dU1 t17 qL t17 qL t17,wI2"17","sqr(x)+sub(x,y)+psqr(y)+psub(y+1,x-2)-1"}, -#define Sh {2,-100,100,dU1 t19 qL t19 qL t19,wI2"19","(xy)+1000"d92">=y)+10000"d92"=y)+100000"d92"!=y)+ (x&y)*2+(x|y)*20+(!x)*200+(!!x)*2000+4*!((xy)|(x>3))"}, -#define Th {2,-100,100,dU1 t20 qL t20 qL t20,wI2"20","(!(x"hC3"y) & !x) + !(!(!(!y)))"}, -#define Uh {1,-d82 t21 qL t21 qL t21,"x",oM"21","sqr(x)+value()-pvalue ( "g31 -#define Wh {1,-1000,1000,dU1 t24 qL t24 qL t24,"x",oM"24","(min(x, min(1,"mL1" min(x, 1))/2 + min(x, 1)*3 + max(0, min(-2,0))"}, -#define Yh {2,-5,5,dU1 t29 qL t29 qL t29,wI2"29","x-y*1"}, -#define Si {4,-5,5,dU1 t34 qL t34 qL t34,"t,う,お,早",oM"34","お+早*う-t"}, -#define Ti {3,-d82 t35 qL t35 qL t35,"A_very_long_variable_name_1,A_very_long_variable_name_2,Yet_a_third_very_long_variable_name",oM"35","A_very_long_variable_name_1-A_very_long_variable_name_2+ Yet_a_third_very_long_variable_name*A_very_long_variable_name_1"}, -#define Ui {2,-d82 t50 qL t50 qL t50,wI2"50","(x=y)"gS3" 64"d92"<=y | x>=y)"gS3" 128"d92"!=y & x=y)"gS3" 256"d92"!=y & "wJ2" 512"qF3" x=y"g31 -#define Wi {2,-11,11,dU1 t58 qL t58 qL t58,wI2"58","(-x < 3)"oB2"-1 > 5)"oB2"-3 < 10)"oB2"-3 < y*7) + (x*4 < y*7)"oB2"6 < y*-3"q33"-x < 11"q33"5 < -y"g31 -#define Yi {3,-8,7,dU1 I1,0 qL I1,"x"dA2"i1","1+2+3-4*5*6/3+10/2-9%2 + (x+y - 11*x + z/10 + x/(z+31))"}, -#define Sj {3,-7,7,dU1 I2,0 qL I2,"x"dA2"i2","if(abs(x*y) < 20 | x+y > 30 & z > 5, min(x,2*y), max(y,z*2))"}, -#define Tj {3,1,7,dU1 I3,0 qL I3,"x"dA2"i3","(x+"aU2" 2"d92"-z) + 3*(x*"aU2" 4*(y/z) + 5"d92"%z)"gS3"6"d92"2"mQ2" 9*(y>=3"mQ2" 10*(x+y!=z) + 11*(100+x) + 12*(101-y) + 13*(102"mQ2" 14*(103/x)"}, -#define Uj {2,-qE1 Add_d,qG Add_d g2"add_d","x+y"}, -#define Wj {3,-qE1 Addsub_d,qG Addsub_d wK2,g9"addsub_d","x+y+x+x-z+x"}, -#define Yj {2,h9 And_d,qG And_d g2"and_d","x&y"}, -#define Sk {2,h9 Cmpeq_d,qG Cmpeq_d g2"cmpeq_d","x=y"}, -#define Tk {2,h9 Cmpge_d,qG Cmpge_d g2"cmpge_d","x>=y"}, -#define Uk {2,h9 Cmpgt_d,qG Cmpgt_d g2"cmpgt_d","x>y"}, -#define Wk {2,h9 Cmple_d,qG Cmple_d g2"cmple_d","x<=y"}, -#define Yk {2,h9 Cmplt_d,qG Cmplt_d g2"cmplt_d","x= "wH -#define S01 wE Cmpge_powpow_imm_base,q2 Cmpge_powpow_imm_base,0 qK"cmpge_"hH hB3 wW -#define T01 hG Cmpgt_pow_imm_negneg,q2 Cmpgt_pow_imm_negneg,oN1 hS" > "gL3 -#define U01 hG Cmpgt_pow_imm_negpos,q2 Cmpgt_pow_imm_negpos,oN1 hT" > "gN3 -#define W01 {1,qJ Cmpgt_pow_imm_posneg,q2 Cmpgt_pow_imm_posneg,oN1 d0" > "gT3 -#define Y01 {1,qJ Cmpgt_pow_imm_pospos,q2 Cmpgt_pow_imm_pospos,oN1 d1" > "h23 -#define S11 {1,qJ Cmpgt_pow_imm_pospos_base,q2 Cmpgt_pow_imm_pospos_base,oN1 gQ3"> "wH -#define T11 wE Cmpgt_powpow_imm_base,q2 Cmpgt_powpow_imm_base,0 qK"cmpgt_"hH" > "wW -#define U11 hG Cmple_pow_imm_negneg,q2 Cmple_pow_imm_negneg dW1 hS hJ3 gL3 -#define W11 hG Cmple_pow_imm_negpos,q2 Cmple_pow_imm_negpos dW1 hT hJ3 gN3 -#define Y11 {1,qJ Cmple_pow_imm_posneg,q2 Cmple_pow_imm_posneg dW1 d0 hJ3 gT3 -#define S21 {1,qJ Cmple_pow_imm_pospos,q2 Cmple_pow_imm_pospos dW1 d1 hJ3 h23 -#define T21 {1,qJ Cmple_pow_imm_pospos_base,q2 Cmple_pow_imm_pospos_base dW1 gQ3"<= "wH -#define U21 wE Cmple_powpow_imm_base,q2 Cmple_powpow_imm_base,0 qK"cmple_"hH hJ3 wW -#define W21 hG Cmplt_pow_imm_negneg,q2 Cmplt_pow_imm_negneg,oA1 hS" < "gL3 -#define Y21 hG Cmplt_pow_imm_negpos,q2 Cmplt_pow_imm_negpos,oA1 hT" < "gN3 -#define S31 {1,qJ Cmplt_pow_imm_posneg,q2 Cmplt_pow_imm_posneg,oA1 d0" < "gT3 -#define T31 {1,qJ Cmplt_pow_imm_pospos,q2 Cmplt_pow_imm_pospos,oA1 d1" < "h23 -#define U31 {1,qJ Cmplt_pow_imm_pospos_base,q2 Cmplt_pow_imm_pospos_base,oA1 gQ3"< "wH -#define W31 wE Cmplt_powpow_imm_base,q2 Cmplt_powpow_imm_base,0 qK"cmplt_"hH" < "wW -#define Y31 hG Cmpne_pow_imm_negneg,q2 Cmpne_pow_imm_negneg dX1 hS hC3 gL3 -#define S41 hG Cmpne_pow_imm_negpos,q2 Cmpne_pow_imm_negpos dX1 hT hC3 gN3 -#define T41 {1,qJ Cmpne_pow_imm_posneg,q2 Cmpne_pow_imm_posneg dX1 d0 hC3 gT3 -#define U41 {1,qJ Cmpne_pow_imm_pospos,q2 Cmpne_pow_imm_pospos dX1 d1 hC3 h23 -#define W41 {1,qJ Cmpne_pow_imm_pospos_base,q2 Cmpne_pow_imm_pospos_base dX1 gQ3"!= "wH -#define Y41 wE Cmpne_powpow_imm_base,q2 Cmpne_powpow_imm_base,0 qK"cmpne_"hH aZ2 wW -#define S51 hG Cmpzz_pow_imm_negneg,q2 Cmpzz_pow_imm_negneg,q71"_imm_negneg"oN d41" < "gU3 a6 d41 hJ3 gU3 a8 d41" > "gU3 oS d41 hB3"-0.015625"a7 d41 hC3 gU3 dV gJ",-3) = "gL3 -#define T51 hG Cmpzz_pow_imm_negpos,q2 Cmpzz_pow_imm_negpos,q71"_imm_negpos"oN d51" < "h33 a6 d51 hJ3 h33 a8 d51" > "h33 oS d51 hB3"0.0625"a7 d51 hC3 h33 dV gJ",-2) = "gN3 -#define U51 {1,qJ Cmpzz_pow_imm_posneg,q2 Cmpzz_pow_imm_posneg,q71"_imm_posneg"oN oB1" < "hT3 a6 oB1 hJ3 hT3 a8 oB1" > "hT3 oS oB1 hB3"-125"a7 oB1 hC3 hT3 dV gJ",3) = "gT3 -#define W51 {1,qJ Cmpzz_pow_imm_pospos,q2 Cmpzz_pow_imm_pospos,q71"_imm_pospos"oN oC1" < 25)"a6 oC1 hJ3"25)"a8 oC1" > 25)"oS oC1 hB3"25"a7 oC1 hC3"25)"dV gJ",2) = "h23 -#define Y51 {1,qJ Cmpzz_pow_imm_pospos_base,q2 Cmpzz_pow_imm_pospos_base,q71"_imm_pospos_base"oN d03"< "q61 a6 d03"<= "q61 a8 d03"> "q61 oS d03">= "q61 o41 d03"!= "q61 dV gR3"= "wH -#define S61 wE Cmpzz_powpow_imm_base,q2 Cmpzz_powpow_imm_base,0 qK"cmpzz_powpow_imm_base"oN gC3" < "gA1 a6 gC3 hJ3 gA1 a8 gC3" > "gA1 oS gC3 hB3 gA1 o41 gC3 aZ2 gA1 dV qQ1" = "wW -#define T61 {2,-4,4,mY1,q2 If_extract_sin,q2 If_extract_sin,0 mJ"tract_sin",dX", sin(y), "gW3 -#define U61 oO If_join_add,q2 If_join_add,0 qK"if_join_add",dX dA" +"aO1 -#define W61 oO If_join_and,q2 If_join_and,0 qK"if_join_and",dX dA" &"aO1 -#define Y61 oO If_join_max,q2 If_join_max,0 qK"if_join_max","max("dX dA", "hU3")))"}, -#define S71 oO If_join_min,q2 If_join_min,0 qK"if_join_min","min("dX dA", "hU3")))"}, -#define T71 oO If_join_mul,q2 If_join_mul,0 qK"if_join_mul",dX dA" *"aO1 -#define U71 oO If_join_or,q2 If_join_or,0 qK"if_join_or",dX dA" | "hU3"))"}, -#define W71 {3,hX Ifabsnot,q2 Ifabsnot wP"ifabsnot","if(!(sin(x)+1.2), y,z"g31 -#define Y71 {3,hX Ifconst,q2 Ifconst wP"ifconst","if(1, x,y) + if(0,z,y"g31 -#define S81 {4 m72 Ififconst,q2 Ififconst,0,"w,"mH"ififconst","if("dX",1,y),z,w) + if(if(w,z,0),"oT2 -#define T81 {3 m72 Ifnot,q2 Ifnot wP"ifnot","if(!x, y,z"g31 -#define U81 {2,hX Muland2,q2 Muland2,0 qK"muland2",wN2" !!y"}, -#define W81 {3,hX Muland2plus,q2 Muland2plus wP"muland2plus",wN2" !!y * z"}, -#define Y81 {3,hX Muland3,q2 Muland3 wP"muland3",wN2" !!y * !!z"}, -#define S91 {2,hX Mulandlt,q2 Mulandlt,0 qK"mulandlt",wN2" (y<0"g31 -#define T91 {2,wO2 1,hF2,q2 Mulimmlog,q2 Mulimmlog,0 qK"mulimmlog","log(if(1,5,0)*x*y"g31 -#define U91 {2,hX Mulnor2,q2 Mulnor2,0 qK"mulnor2",hM3}, -#define W91 {3,hX Mulnor2plus,q2 Mulnor2plus wP"mulnor2plus",hM3" * z"}, -#define Y91 {3,hX Mulnor3,q2 Mulnor3 wP"mulnor3",hM3" * !z"}, -#define SA1 aQ2 Negceil,q2 Negceil,gQ"negceil","ceil(x*("gY2"-abs(x)-1))"}, -#define TA1 aQ2 Negcos,q2 Negcos,gQ"negcos","cos"wP2 -#define UA1 aQ2 Negcosh,q2 Negcosh,gQ"negcosh","cosh"wP2 -#define WA1 aQ2 Negfloor,q2 Negfloor,gQ"negfloor","floor(x*("gY2"-abs(x)-1))"}, -#define YA1 aQ2 Negsin,q2 Negsin,gQ"negsin","sin(x*"qF1 -#define SB1 aQ2 Negsinh,q2 Negsinh,gQ"neg"wL2,wL2 wP2 -#define TB1 {1,hX Posnot,q2 Posnot,gQ"posnot","!(sin(x) + 1.2"g31 -#define UB1 {1,hX Posnotnot,q2 Posnotnot,gQ"posnotnot","!!(sin(x) + 1.2"g31 -#define WB1 {1,wO2 1,hF2,q2 Powimmaddimmlog,q2 Powimmaddimmlog mO1"immaddimmlog","pow(5, log(x)+1"g31 -#define YB1 {1,wO2 2,hF2,q2 Powimmlog,q2 Powimmlog mO1"immlog","pow(3, log(x)) + pow(5, log(x)*sin(x))"}, -#define SC1 {a11 Powmulimm_fnen,q2 Powmulimm_fnen oC dN1"mulimm_fnen",oD1"^(-8"g31 -#define TC1 {2 oJ gR Powmulimm_fnep,q2 Powmulimm_fnep oC dN1"mulimm_fnep",oD1"^(4"g31 -#define UC1 {1,-3,-1,mY1,q2 Powmulimm_fnfn,q2 Powmulimm_fnfn mO1"mulimm_fnfn","((-5.1)*x)^(-7.1"g31 -#define WC1 {2 oJ gR Powmulimm_fnfp,q2 Powmulimm_fnfp oC dN1"mulimm_fnfp",oD1"^7.1"}, -#define YC1 {2 oJ gR Powmulimm_fpfp,q2 Powmulimm_fpfp oC dN1"mulimm_fpfp","(5.1*x*y)^7.1"}, -#define SD1 {1,hX Sub1cos2,q2 Sub1cos2,gQ"sub1cos2","1-cos(x)^2"}, -#define TD1 {1,hX Sub1sin2,q2 Sub1sin2,gQ"sub1sin2","1-"qA2"^2"}, -#define UD1 {1,N(-9.42477796076937971538793014983850865259),N(9.42477796076937971538793014983850865259),N(0.785398163397448309615660845819875721049292349)qN,q2 Trig_modulo,q2 Trig_modulo,gQ"trig_modulo","cos(x+pi"qG1"2/3"qG1"5/2"qG1"6/2"qG1 wQ2 gM3 oE1")"oX1"2/3)"oX1"5/2)"oX1"6/2)"oX1 wQ2 gM3"cos(x-pi"dG1"2/3"dG1"5/2"dG1"6/2"dG1 wQ2" "oF1")"wR2"2/3)"wR2"5/2)"wR2"6/2)"wR2"7/2"g31 -#define WD1 {1 oJ hF2,q2 Trunc_from_if,q2 Trunc_from_if,gQ"trunc_from_if",dX">0, "h63 dD2">=0, "h63 dD2"<0, "h43 dD2"<=0,"hN3">0, "hN3">=0,"hN3"<0, "h63" 10*"dX"<=0, floor(x),ceil"g91 -#define YD1 {1,N(-0.7),N(0.7),N(0.28)qN,g1 t5,g1 t5 oC,oE"5","sub(sin(x)+csc(x),cos"g91 -#define SE1 {2 oJ N(.25)qN,g1 t42,g1 t42 oC",y",oE"42","sqrt(x*x) + 1.5*((y*y)^.25) + hypot(x"mI1 -#define TE1 {1,-100,-1,mS2,g1 t51,g1 t51 oC,oE"51","log"gZ2 -#define UE1 {1,N(.05),1,N(.01)qN,g1 t57,g1 t57 oC,oE"57","cosh(a"wL2 g91 -#define WE1 {2,-2,2,N(1.2)qN,g1 t59,g1 t59 oC",y",oE"59","cosh(x^2) + tanh(y^2"g31 -#define YE1 {1,-1000,1000,N(.25)qQ3 t1 qL t1 gD3"1"aY2"4/2 + (1+(2+3)) + x*x+x+1+2+3*4+5*6*\n7-8*9"}, -#define SF1 {1,-1000,1000,g92 t2 qL t2 gD3"2","2 * x+ sin ( x ) / .5 + 2-sin(x)*sin(x)"}, -#define TF1 {3,-7,7,mS2 qL t3 qL t3 qP3"3","(x=y & y=x)+ 1+2-3.1*4e2/.5 + x*x+y*y+z*z + (x&x) + (y|y"g31 -#define UF1 {2,-10,10,mS2 qL t4 qL t4 oC oG1"4","( ((( ( x-y) -( ((y) *2) -3)) )* 4))+sin(x)*cos(y)-cos(x)*sin(y"g31 -#define WF1 {2,g83 8,mQ1 t5 qL t5,0,"__A5_x08,o__5_0AB_",oM"5","__A5_x08^o__5_0AB_"}, -#define YF1 {2,g83 10,2 qQ3 t6 qL t6 oC oG1"6",dX">0&y>0,x*y+eval(x-1,y-1),0)+1"}, -#define SG1 {qX3 N(.01)qQ3 t7 qL t7 gD3"7","cos(x)*sin(1-x)*(1-cos(x/2)*sin(x*5))"}, -#define TG1 {2,-8,8,mC2 t8 qL t8 oC oG1"8",aA2"(x,y)+max(x"mI1 -#define UG1 {3,1,15,N(.7)qQ3 t9 qL t9 qP3"9","1.5+x*y-2+4/8+z+z+z+z+x/(y*z"g31 -#define WG1 {3,1,4,N(.3)qQ3 t10 qL t10 qP3"10","1+sin(cos(max(1+2+3+4+5, x+y+z)))+2"}, -#define YG1 {3,1,19,N(.8)qQ3 t11 qL t11 qP3"11","-(-(-(-(-x))-x))+y*1+log(1.1^z"g31 -#define SH1 {1,1,2000,mS2 qL t12 qL t12 gD3"12","1/log(10^((3-2)/log(x)))"}, -#define TH1 {2,-30,30,mS2 qL t13 qL t13 oC oG1"13","x^3 * x^4 + y^3 * y^5"}, -#define UH1 {1,-50,50,g92 t14 qL t14 gD3"14"aY2"pi + sin(2*pi) + CONST"}, -#define WH1 {2,N(1.1),6,N(.07)qQ3 t15 qL t15 oC oG1"15","x^y/log("aU2" log(x)/log("aU2" log(x^y"g31 -#define YH1 {2,1,17,mC2 t18 qL t18 oC oG1"18","- ( - ( - ( - 5 ) ) ) * -x^ -y^-2"}, -#define SI1 {2,-4,4,g92 t22 qL t22 oC oG1"22","3.5doubled + 10*x tripled - sin(y)doubled"gS3"100"d92" doubled-y tripled)doubled + 5/2doubled + 1.1^x doubled + 1.1doubled^x doubled"}, -#define TI1 {1,-1000,1000,g92 t23 qL t23 gD3"23","(x/(2*acos(0)))*180"}, -#define UI1 {3,1,3,mC2 t25 qL t25,0,"a,b,c",oM"25","a^b^c + a^-2 * (-b^2"q33"-b^-c"g31 -#define WI1 {1,-100,100,g83 true qL t26_deg qL t26_deg gD3"26_deg",q43" cos(x*1.5) + asin(x/110) + acos(x/120"g31 -#define YI1 {2,g83 N(.9),N(.025)qQ3 t27 qL t27 oC oG1"27","abs(x)+acos(x)+asin(x)+atan(x)+"aA2"(x,y)+ceil(x)+cos(x)+cosh(x)+cot(x)+csc"dI2" "dB2 mI1 -#define SJ1 {2,g83 N(.9),N(.025)qQ3 t28 qL t28 oC oG1"28","exp(x)+floor(x)+int(x)+log(x)+log10(x)+max(x,y)+min(x,y)+sec(x)+sin(x)+sinh(x)+sqrt(x)+tan(x)+tanh(x)+ceil(y)+trunc(y"g31 -#define TJ1 {2,3,10,dU1 t30 qL t30 oC oG1"30","x - y*1 + (x%y) + x / (y^1.1) + 2^3 + 5%3 + x^(y^0) + x^0.5"}, -#define UJ1 {3,g83 4,N(.35)qQ3 t31 qL t31 qP3"31","x - (y*(y*(y*-1))*1) + log(x*exp"h32")^y) - log(x^y)"gS3"exp"h32")^log(x+6) + 10^("wT2"6"hN2"y+6)*log(z+6"hN2"10)) -"gM3"exp"h32")^("wT2"6)*y) - 5^("wT2"7"hN2"5)) + "gA2"^3 * "gA2"^2 / "gA2"^4"}, -#define WJ1 {3,1,2,N(.05)qQ3 t32 qL t32 qP3"32","x"mO"+y/y-min(3,4)-x-max(4,3)+max(3,4)-min(4,3)+0+(z*1)"mO"+(x-2+2)+(x*0.5*2)+y*0"gM3" +min(min(min(4.0,x),1.0),min(x,min(min(y,4.0),z)))"mO"+max(max(max(4.0,x),1.0)"mP1"x(max(y,4.0),z)))"mO"+(abs(1)+acos"h32")+asin(1.0)+atan"h32")+ceil(1.1)+cos(0.0)"gM3" +cosh(0.0)+floor(1.1)+log"h32")+sin(0.0)+sinh(0.0)+tan"h32")"gM3" +tanh"h32")+"aA2"(1.0,1.0))"mO"+(x-(y-z))"mO"+(x+y)"oB2"y)"mO"+max(x"mP1"x(x,max(x,x))))*-1.0"gM3" +(z-z)"mO"+1/sin(x/5)"mT2"cos(y/5)"mT2"tan(z/5)"mO"+log10(cot(z/5) + csc(y/5) + sec(x/5))"mO"+log(30+x)*log(40+y"hN2"50+z)"mO"+sin(x/57.295779513082320877)"mO"+asin(x/10)*57.295779513082320877"gM3" +floor(-x)"mT2"ceil(x)"mO"+sqrt(5 * 0.2) +(-"wU2 wU2"x+-x)"}, -#define YJ1 {2,-2,2,g92 t33 qL t33 oC oG1"33","sin(sqrt(10-x*x+y*y))+cos(sqrt(15-x*x-y*y))+sin(x*x+y*y"g31 -#define SK1 {qX3 g92 t37 qL t37 gD3"37","5 + 7.5*8 / 3 - 2^4*2 + 7%2+4 + x"}, -#define TK1 {3,N(-.9),N(.9),g92 t38 qL t38 qP3"38","a"wL2 dI2" 1.5*"mR2"(y+3) + 2.5*atanh(z"g31 -#define UK1 {3,N(-1.3),N(1.3),mQ1 t39 qL t39 qP3"39","sin(x+cos(y*1.5))-cos(x+sin(y*1.5))+z*z*z*sin(z*z*z-x*x-y*y)-"gM3"cos(y*1.5)*sin(x+cos(y*1.5))+x*y*z+x*y*2.5+x*y*z*cos(x)+x*y*cos(x)+x*z*cos(x)+ y*z*2.5+(x*y*z*cos(x)-x*y*z-y*cos(x)-x*z*y+x*y+x*z-cos(x)*x)"}, -#define WK1 {3,N(-1.3),N(1.3),N(.075)qQ3 t40 qL t40 qP3"40","(x+x+x+x+x+x+x+x+x+x+x+y"a5")*"gM3"(x+x+x+x+x+x+x+x+x+x+x+y"a5")+"gM3"2*(x+x+x+x+x+x+x+x+x+x+x+y"a5")-"gM3"x*y*(x+x+x+x+x+x+x+x+x+x+x+y"a5")+ x*(x+x+x+x+x+x+x+x+x+x+x+y"a5 g31 -#define YK1 {3,-2,2,mQ1 t41 qL t41 qP3"41"aY2"3+x*y+x*z+x*sin(y*z) -"gM3 wV2"4"gS3 qI1"))*x"gS3 wV2"y + "wV2"z"}, -#define SL1 {1,-100,100,N(.03)qQ3 t43 qL t43 gD3"43","log(x*x)+abs("m12"abs(x)+1))"}, -#define TL1 {1,0,100,N(.125)qQ3 t44 qL t44 gD3"44","(x^2"dD1"8)"gS3"1.1"d92"^3"dD1"7)"gS3"1.2"d92"^4"dD1"6)"gS3"1.3"d92"^5"dD1"5)"gS3"1.4"d92"^6"dD1"6)"gS3"1.5"d92"^7"dD1"4)"gS3"1.6"d92"^8"dD1"3)"gS3"1.7"d92"^9"dD1"2) + 1.8*(sqrt(abs(-sqrt(x))^3))"}, -#define UL1 {qX3 N(.025)qQ3 t45 qL t45 gD3"45","(x^2"dD1"7) + 1.1"d92"^4"dD1"5) + 1.2"d92"^6"dD1"3"g31 -#define WL1 {2,N(-.9),N(.9),mQ1 t46 qL t46 oC oG1"46","abs(floor(acos(x)+4)) + 1.1*abs(floor(acos(y)+1.5)) + ("q92" < (acos(y)-10)) + 1.2*max(-4, acos(x)) + 1.3*min(9, acos(x)-9"g31 -#define YL1 {2 oJ g92 t47 qL t47 oC oG1"47","1.25*(exp(x)+"m12"-"mL1" 1.5*("m12"y)-exp(-y)) + 1.75*(("m12"-x)+exp(x))/2) + 2.0*(("m12"-x)-exp(x))/2) + 2.25*(cosh(y)+sinh(y))"}, -#define SM1 {1,2,N(1e9),N(1.2e7)qQ3 t48 qL t48 gD3"48",wL2"((log(x)/5+1)*5) + 1.2*cosh((log(x)/log(2)+1)*log"hW3"!(x | !(x/4))"}, -#define TM1 {1,-100,100,N(.05)qQ3 t49 qL t49 gD3"49",aA2"(0, x) + (-4"d92"-100))^3.3"}, -#define UM1 {qX3 mS2 qL t52 qL t52 gD3"52","x + "h32"+2.0+3.0+4.0-5.0-6.0-7.0-8.0)/3.0"gS3"4.0*(1.0+sin(2.0)+cos(4.0*5.0+6.0)/2.0) + cos(0.5)*tan(0.6+0.2) - 1.1/log(2.1)*sqrt(3.3) + 2^3"}, -#define WM1 {2,0,10,mY1 qL t53 qL t53 oC oG1"53","(x&"aU2" 4*(int(x/10)|int(y/10)) + 8*((-!-!-x)+(!-!-!y)) + 16*(-------x + !!!!!!!y"g31 -#define YM1 {2,-10,100,mS2 qL t54 qL t54 oC oG1"54","(xy"m42">=y)+"gM3"(x=y"m42"!=y)+(x&y"m42"|y)+"gM3"(!x)+(!!x)+"gM3"!((xy)|(x>3))"}, -#define SN1 {2,1,100,mS2 qL t55 qL t55 oC oG1"55","(x^1.2 < 0"q33"y^2.5 < 0) + 2*(x*x<0) + 3*(y^3<0) + 4"d92"^4<0"g31 -#define TN1 {1,N(.25),100,N(.25)qQ3 t56 qL t56 gD3"56","1.75e21%x"}, -#define UN1 {1 oJ N(0.2)qQ3 t59 qL t59 gD3"59","(cos(x) < sin(x))"gS3"(cos(x)-sin(x))"gS3"sub(sinh(x)-cosh(x), "wL2"(x)/cosh(x)) + sqrt(cos(x)^2+sin(x)^2"g31 -#define WN1 {1,N(1e-6),4000,mD Log qB Log wY"log",gE2 -#define YN1 g6 Abscos q4 Abscos w11"abscos","cos(abs"g91 -#define SO1 g6 Abscosh q4 Abscosh w11"abscosh","cosh(abs"g91 -#define TO1 {1 gS Abseq0 q4 Abseq0 q4 Abseq0 gT"abseq0"mJ1"=0"q33"0=abs"g91 -#define UO1 {1,N(0.001),N(0.9),N(0.01)qN q4 Absevenconstpow q4 Absevenconstpow w11"absevenconstpow",gY2" ^ 1506"}, -#define WO1 {2,N(0.001),N(0.9),N(0.01)qN q4 Absmulevenconstpow q4 Absmulevenconstpow oC gW"absmulevenconstpow","(abs(x)*y) ^ 1506"}, -#define YO1 {1 gS mV2 q4 mV2 q4 mV2 gT"absneq0"mJ1"=0"q33"0=abs"g91 -#define SP1 {1 gS Add q4 Add q4 Add gT"add","5+3+x"}, -#define TP1 {1 gS Add0 q4 Add0 q4 Add0 gT"add0","x+0+x"}, -#define UP1 {1 gS And q4 And q4 And gT"and","(5&3"dE2"5&0)+(0&5)+(0&0"g31 -#define WP1 {1 d3 Cmp_acos q4 Cmp_acos w11"cmp_acos","1"o0"=acos("wQ gM3"2"o0"acos("wQ h42 o0">=acos("wQ" 32"o0"!=acos(0.75))"}, -#define YP1 {1 d3 Cmp_acos_outrange q4 Cmp_acos_outrange w11"cmp_acos_outrange","1"o0"=2"mU2 o0"<2)"gS3"4"o0"<=2) +"wW2 o0">2) +"h42 o0">=2) + 32"o0"!=2"g31 -#define SQ1 {1,oI1 mW2 q4 mW2 q4 mW2 gT"cmp_add","1"aH aT1 aH aU1 aH oJ1 aH gC2 aH m7 aH oU1 -#define TQ1 {1 d3 Cmp_asin q4 Cmp_asin w11"cmp_asin","1"o1"=a"q52 gM3"2"o1"a"q52 h42 o1">=a"q52" 32"o1"!=asin(0.75))"}, -#define UQ1 {1 d3 Cmp_asin_outrange q4 Cmp_asin_outrange w11"cmp_asin_outrange","1"o1"=2"mU2 o1"<2)"gS3"4"o1"<=2) +"wW2 o1">2) +"h42 o1">=2) + 32"o1"!=2"g31 -#define WQ1 {oI Cmp_atan q4 Cmp_atan w11"cmp_atan","1"qR1"=atan"wL1 qR1"atan"wO1 qR1">=atan"aR1 qR1"!=atan"dP1 -#define YQ1 {oI Cmp_exp q4 Cmp_exp w01"p","1"aQ1"=exp"hW3"2"aQ1"exp"hW3"16"aQ1">=exp"hW3"32"aQ1"!=exp"dP1 -#define SR1 {oI Cmp_exp2 q4 Cmp_exp2 w01"p2","1"aS1"=exp2"hW3"2"aS1"exp2"hW3"16"aS1">=exp2"hW3"32"aS1"!=exp2"dP1 -#define TR1 {oI Cmp_exp2_neg q4 Cmp_exp2_neg w01"p2_neg","1"aS1"=-4) + 2"aS1"<-4) + 4"aS1"<=-4"g41 aS1">-4) + 16"aS1">=-4"q82 aS1"!=-4"g31 -#define UR1 {oI Cmp_exp_neg q4 Cmp_exp_neg w01"p_neg","1"aQ1"=-4) + 2"aQ1"<-4) + 4"aQ1"<=-4"g41 aQ1">-4) + 16"aQ1">=-4"q82 aQ1"!=-4"g31 -#define WR1 {1,oH Cmp_log2_nn q4 Cmp_log2_nn w11"cmp_log2_nn","1"mC1"=-2"oU wJ aK mC1 wZ mC1 a0 mC1 aO mC1 oH1 -#define YR1 {1,oH Cmp_log2_np q4 Cmp_log2_np w11"cmp_log2_np","1"mC1"=log2"wL1 mC1"log2"wO1 mC1">=log2"aR1 mC1"!=log2"dP1 -#define SS1 {oI Cmp_log2_pn q4 Cmp_log2_pn w11"cmp_log2_pn","1"d9"=-2"mU2 d9 aK d9 wZ d9 a0 d9 aO d9 oH1 -#define TS1 {oI Cmp_log2_pp q4 Cmp_log2_pp w11"cmp_log2_pp","1"d9"=log2"wL1 d9"log2"wO1 d9">=log2"aR1 d9"!=log2"dP1 -#define US1 {1,oH Cmp_log10_nn q4 Cmp_log10_nn w11"cmp_log10_nn","1"dF"=-2"mU2 dF aK dF wZ dF a0 dF aO dF oH1 -#define WS1 {1,oH Cmp_log10_np q4 Cmp_log10_np w11"cmp_log10_np","1"dF"=log10"wL1 dF"log10"wO1 dF">=log10"aR1 dF"!=log10"dP1 -#define YS1 {oI Cmp_log10_pn q4 Cmp_log10_pn w11"cmp_log10_pn","1"hR"=-2"mU2 hR aK hR wZ hR a0 hR aO hR oH1 -#define ST1 {oI Cmp_log10_pp q4 Cmp_log10_pp w11"cmp_log10_pp","1"hR"=log10"wX2 wK1 hR"log10"wX2" +"h42 hR">=log10"wX2" + 32"hR"!=log10"wX2}, -#define TT1 {1,oH Cmp_log_nn q4 Cmp_log_nn w11"cmp_log_nn","1"hP1"=-2"mU2 hP1 aK hP1 wZ hP1 a0 hP1 aO hP1 oH1 -#define UT1 {1,oH Cmp_log_np q4 Cmp_log_np w11"cmp_log_np","1"hP1"=log"wL1 hP1"log"wO1 hP1">=log"aR1 hP1"!=log"dP1 -#define WT1 {oI Cmp_log_pn q4 Cmp_log_pn w11"cmp_log_pn","1"hQ1"=-2"mU2 hQ1 aK hQ1 wZ hQ1 a0 hQ1 aO hQ1 oH1 -#define YT1 {oI Cmp_log_pp q4 Cmp_log_pp w11"cmp_log_pp","1"hQ1"=log"wL1 hQ1"log"wO1 hQ1">=log"aR1 hQ1"!=log"dP1 -#define SU1 {1,oI1 gB2 q4 gB2 q4 gB2 gT"cmp_mulneg","1"wZ2 aT1 wZ2 aU1 wZ2 oJ1 wZ2 gC2 wZ2 m7 wZ2 oU1 -#define TU1 {1,oI1 gD2 q4 gD2 q4 gD2 gT"cmp_mulpos","1"a02 aT1 a02 aU1 a02 oJ1 a02 gC2 a02 m7 a02 oU1 -#define UU1 {1,oI1 mX2 q4 mX2 q4 mX2 gT"cmp_neg","1"aV1"=4) + 2"aV1"<4) + 4"aV1"<=4"g41 aV1">4) + 16"aV1 m7 aV1 oU1 -#define WU1 mB Cmp_powx_n_n q4 Cmp_powx_n_n dQ1"_n_n","1"g8"="w3" "aL g8"<"w3" "aM g8"<="w3" "aN g8">"w3 w9 g8">="w3 qR3 g8"!="w3}, -#define YU1 mB Cmp_powx_n_p q4 Cmp_powx_n_p dQ1"_n_p","1"g8"="w2" "aL g8"<"w2" "aM g8"<="w2" "aN g8">"w2 w9 g8">="w2 qR3 g8"!="w2}, -#define SV1 qJ1 Cmp_powx_nn q4 Cmp_powx_nn dQ1"_nn","1"g8 q62 g8 q72 g8 aW1 g8 h52 g8">=-4"q82 g8"!=-4"g31 -#define TV1 qJ1 Cmp_powx_np q4 Cmp_powx_np dQ1"_np","1"g8 aT1 g8 aU1 g8 oJ1 g8 gC2 g8 m7 g8 oU1 -#define UV1 mB Cmp_powx_p_n q4 Cmp_powx_p_n dQ1"_p_n","1"oQ"="w3" "aL oQ"<"w3" "aM oQ"<="w3" "aN oQ">"w3 w9 oQ">="w3 qR3 oQ"!="w3}, -#define WV1 mB Cmp_powx_p_p q4 Cmp_powx_p_p dQ1"_p_p","1"oQ"="w2" "aL oQ"<"w2" "aM oQ"<="w2" "aN oQ">"w2 w9 oQ">="w2 qR3 oQ"!="w2}, -#define YV1 qJ1 Cmp_powx_pn q4 Cmp_powx_pn dQ1"_pn","1"aX1 q62 aX1 q72 aX1 aW1 aX1 h52 aX1">=-4"q82 aX1"!=-4"g31 -#define SW1 qJ1 Cmp_powx_pp q4 Cmp_powx_pp dQ1"_pp","1"aX1 aT1 aX1 aU1 aX1 oJ1 aX1 gC2 aX1 m7 aX1 oU1 -#define TW1 hE Cmp_powy_n_n q4 Cmp_powy_n_n wJ1"y_n_n","1"aY1"="h03"2"aY1"<"h03"4"aY1"<="h03"8"aY1">"h03"16"aY1">="dT" 32"aY1"!=(x^-6.1))"}, -#define UW1 hE Cmp_powy_n_p q4 Cmp_powy_n_p wJ1"y_n_p","1"aY1"=(x"aP" "aL aY1"<(x"aP" "aM aY1"<=(x"aP" "aN aY1">(x"aP w9 aY1">=(x"aP qR3 aY1"!=(x"aP}, -#define WW1 hE Cmp_powy_nn q4 Cmp_powy_nn wJ1"y_nn","1"aY1 q62 aY1 q72 aY1 aW1 aY1 h52 aY1">=-4"q82 aY1"!=-4"g31 -#define YW1 hE Cmp_powy_np q4 Cmp_powy_np wJ1"y_np","1"aY1 aT1 aY1 aU1 aY1 oJ1 aY1 gC2 aY1 m7 aY1 oU1 -#define SX1 hE Cmp_powy_p_n q4 Cmp_powy_p_n wJ1"y_p_n","1"h6"="h03"2"h6"<"h03"4"h6"<="h03"8"h6">"h03"16"h6">="dT" 32"h6"!=(x^-6.1))"}, -#define TX1 hE Cmp_powy_p_p q4 Cmp_powy_p_p wJ1"y_p_p","1"h6"=(x"aP" "aL h6"<(x"aP" "aM h6"<=(x"aP" "aN h6">(x"aP w9 h6">=(x"aP qR3 h6"!=(x"aP}, -#define UX1 hE Cmp_powy_pn q4 Cmp_powy_pn wJ1"y_pn","1"h6 q62 h6 q72 h6 aW1 h6 h52 h6">=-4"q82 h6"!=-4"g31 -#define WX1 hE Cmp_powy_pp q4 Cmp_powy_pp wJ1"y_pp","1"h6 aT1 h6 aU1 h6 oJ1 h6 gC2 h6 m7 h6 oU1 -#define YX1 {oI Cmp_sinh q4 Cmp_sinh,d8 wL2,"1"qS1"="wL2 wL1 qS1"<"wL2 wM1 qS1"<="wL2 wN1 qS1">"wL2 wO1 qS1">="wL2 aR1 qS1"!="wL2 dP1 -#define SY1 {1,oI1 mY2 q4 mY2 q4 mY2 gT"cmp_sqr","1"wK"=16) + 2"wK"<16) + 4"wK"<=16"g41 wK">16) + 16"wK">=16"q82 wK"!=16"g31 -#define TY1 {1,oI1 mR1 q4 mR1 q4 mR1 gT"cmp_sqr_neg","1"wK"=-16) + 2"wK"<-16) + 4"wK"<=-16"g41 wK">-16) + -16"wK">=-16"q82 wK"!=-16"g31 -#define UY1 {1,-4,4,hF2 q4 Cmp_tanh q4 Cmp_tanh w11"cmp_tanh","1"o4"=tanh("wQ gM3"2"o4"tanh("wQ h42 o4">=tanh("wQ" 32"o4"!=tanh(0.75))"}, -#define WY1 {1,-4,4,hF2 q4 Cmp_tanh_outrange q4 Cmp_tanh_outrange w11"cmp_tanh_outrange","1"o4"=2"mU2 o4"<2)"gS3"4"o4"<=2) +"wW2 o4">2) +"h42 o4">=2) + 32"o4"!=2"g31 -#define YY1 {1 gS Cmpeq q4 Cmpeq q4 Cmpeq gT"cmpeq","(5=3"dE2"4=4"g31 -#define SZ1 {1 gS Cmpge q4 Cmpge q4 Cmpge gT"cmpge","(5>=3"dE2"4>=8"g31 -#define TZ1 {1 gS Cmpgt q4 Cmpgt q4 Cmpgt gT"cmpgt","(5>3"dE2"4>8"g31 -#define UZ1 {1 gS Cmple q4 Cmple q4 Cmple gT"cmple","(5<3"dE2"4<8"g31 -#define WZ1 {1 gS Cmplt q4 Cmplt q4 Cmplt gT"cmplt","(5<3)+x"}, -#define YZ1 {1 gS Cmpne q4 Cmpne q4 Cmpne gT"cmpne","(5!=3"dE2"4!=4"g31 -#define Sa1 {1 gS Div q4 Div q4 Div gT"div","(5/4)+x"}, -#define Ta1 {1 gS Div1 q4 Div1 q4 Div1 gT"div1","x/1+x"}, -#define Ua1 {1 gS Divxx q4 Divxx q4 Divxx gT"divxx","x+x/x+x"}, -#define Wa1 {1 gS Eq0 q4 Eq0 q4 Eq0 gT"eq0","(x=0"q33"0=x)"}, -#define Ya1 {1 gS Eq1 q4 Eq1 q4 Eq1 gT"eq1","(!x=1"g31 -#define Sb1 {wD mZ2 q4 mZ2 q4 mZ2 gT"ge0_abs"mJ1 h73 hF3 h83 hG3 -#define Tb1 {1 d3 Ge0_neg q4 Ge0_neg w11"ge0_neg"aZ1 h73 oR h83 gW3 -#define Ub1 {1 d3 Ge0_pos q4 Ge0_pos w11"ge0_pos","("q92 h73 gX3 h83 h53 -#define Wb1 {wD q03 q4 q03 q4 q03 gT"ge1_abs"mJ1 h93 hF3 hA3 hG3 -#define Yb1 {1 d3 Ge1_neg q4 Ge1_neg w11"ge1_neg"aZ1 h93 oR hA3 gW3 -#define Sc1 {1 d3 Ge1_pos q4 Ge1_pos w11"ge1_pos","("q92 h93 gX3 hA3 h53 -#define Tc1 {1 d3 Gehalf q4 Gehalf w11"gehalf","x>=0.5"}, -#define Uc1 {wD q13 q4 q13 q4 q13 gT"gt0_abs"mJ1 hO3 hF3 hP3 hG3 -#define Wc1 {1 d3 Gt0_neg q4 Gt0_neg w11"gt0_neg"aZ1 hO3 oR hP3 gW3 -#define Yc1 {1 d3 Gt0_pos q4 Gt0_pos w11"gt0_pos","("q92 hO3 gX3 hP3 h53 -#define Sd1 {wD q23 q4 q23 q4 q23 gT"gt1_abs"mJ1 hQ3 hF3 hR3 hG3 -#define Td1 {1 d3 Gt1_neg q4 Gt1_neg w11"gt1_neg"aZ1 hQ3 oR hR3 gW3 -#define Ud1 {1 d3 Gt1_pos q4 Gt1_pos w11"gt1_pos","("q92 hQ3 gX3 hR3 h53 -#define Wd1 {1 d3 Gtminushalf q4 Gtminushalf w11"gtminushalf","x>-0.5"}, -#define Yd1 {1,qY3 dH2 dH2 dH2 gT"immsub","x-5"}, -#define Se1 {1 d3 Leminushalf q4 Leminushalf w11"leminushalf","x<=-0.5"}, -#define Te1 {1,0,3,mY1 q4 Log2exp1 q4 Log2exp1 w11"log2exp1",m12"log2"g91 -#define Ue1 {1,-1,N(0.75),hF2 q4 Log2exp2 q4 Log2exp2 w11"log2exp2","exp2(log2(acos(x)))"}, -#define We1 {1,0,3,mY1 q4 Logexp1 q4 Logexp1 w11"logexp1",m12"log"g91 -#define Ye1 {1,-1,N(0.75),hF2 q4 Logexp2 q4 Logexp2 w11"logexp2",m12"log(acos(x)))"}, -#define Sf1 dE1 Logmul q4 Logmul w11"logmul","log"dF1 -#define Tf1 dE1 Logmul2 q4 Logmul2 w11"logmul2","log2"dF1 -#define Uf1 dE1 Logmul10 q4 Logmul10 w11"logmul10","log10"dF1 -#define Wf1 {wD Lt0 q4 Lt0 q4 Lt0 gT"lt0","sub("gY2"<0, x<0"g31 -#define Yf1 {1 d3 Lthalf q4 Lthalf w11"lthalf","x<0.5"}, -#define Sg1 {1 gS Mod q4 Mod q4 Mod gT"mod","(5%4)+x"}, -#define Tg1 {1 gS Mul q4 Mul q4 Mul gT"mul","(5*4)+x"}, -#define Ug1 {1 gS Mul1 q4 Mul1 q4 Mul1 gT"mul1"aY2"1+x"}, -#define Wg1 {1 gS Mul1b q4 Mul1b w11"mul1b",wG"0.2)*5)+x"}, -#define Yg1 {2,N(0.1),10,N(0.1)qN q4 Mul_zero q4 Mul_zero oC gW"mul_zero","(x*y+1)+(sin(x)+sin(y))*log(x)*y*x*0"}, -#define Sh1 {1 gS Mulneg q4 Mulneg q4 Mulneg gT"mulneg","-"a42 -#define Th1 {1 gS a32 q4 a32 q4 a32 gT"multodiv","x/4+x"}, -#define Uh1 {2,qY3 wY2 wY2 wY2,oL2"negadd","x+(-y"g31 -#define Wh1 g6 Negcos q4 Negcos w11"negcos","cos"gZ2 -#define Yh1 g6 Negcosh q4 Negcosh w11"negcosh","cosh"gZ2 -#define Si1 {1 gS Negmul q4 Negmul q4 Negmul gT"negmul","(-x)*5"}, -#define Ti1 g6 Negsin q4 Negsin w11"negsin","sin(-x)"}, -#define Ui1 g6 Negsinh q4 Negsinh w11"neg"wL2,wL2 gZ2 -#define Wi1 {2,qY3 q4 Negsub q4 Negsub q4 Negsub,oL2"negsub","x-(-y"g31 -#define Yi1 g6 Negtan q4 Negtan w11"negtan","tan"gZ2 -#define Sj1 g6 Negtanh q4 Negtanh w11"negtanh","tanh"gZ2 -#define Tj1 {1 gS Neq0 q4 Neq0 q4 Neq0 gT"neq0","(x!=0"q33"0!=x)"}, -#define Uj1 {1 gS Neq1 q4 Neq1 q4 Neq1 gT"neq1","(!x!=1"g31 -#define Wj1 {1 gS Not q4 Not q4 Not gT"not","(!(3))+x"}, -#define Yj1 {1 gS Or q4 Or q4 Or gT"or","(5|3"dE2"5|0)+(0|5)+(0|0"g31 -#define Sk1 g6 Sincos_cci q4 Sincos_cci,aW"cos_cci","cos"dI2" sec(x)"}, -#define Tk1 g6 Sincos_cic q4 Sincos_cic,aW"cos_cic","sec"dI2 mS1 -#define Uk1 g6 Sincos_sc q4 Sincos_sc,aW"cos_sc",q43 mS1 -#define Wk1 g6 Sincos_sci q4 Sincos_sci,aW"cos_sci",q43" sec(x)"}, -#define Yk1 g6 Sincos_sis q4 Sincos_sis,aW"cos_sis","csc"dI2" "qA2}, -#define Sl1 g6 Sincos_ssi q4 Sincos_ssi,aW"cos_ssi",q43" csc(x)"}, -#define Tl1 g6 Sincos_tan q4 Sincos_tan,aW"cos_tan",qA2" /"mS1 -#define Ul1 g6 Sincos_tit q4 Sincos_tit,aW"cos_tit","cot"dI2" tan(x)"}, -#define Wl1 g6 Sincos_tti q4 Sincos_tti,aW"cos_tti","tan"dI2" cot(x)"}, -#define Yl1 {1 gS Sqreq0 q4 Sqreq0 q4 Sqreq0 gT"sqreq0","(x*x=0"q33"0=x*x)"}, -#define Sm1 {1 gS q53 q4 q53 q4 q53 gT"sqrneq0","(x*x=0"q33"0=x*x)"}, -#define Tm1 {1,0,3,mY1 q4 Sqrtsqr1 q4 Sqrtsqr1 w11"sqrtsqr1","sqrt(x)^2"}, -#define Um1 {1 w5 Sqrtsqr2 q4 Sqrtsqr2 w11"sqrtsqr2","sqrt(acos(x))^2"}, -#define Wm1 {1 gS Sub q4 Sub q4 Sub gT"sub","5-3+x"}, -#define Ym1 {1 gS Sub0 q4 Sub0 q4 Sub0 gT"sub0","x-0+x"}, -#define Sn1 {1 oJ gH3 Subxx q4 Subxx q4 Subxx gT"subxx","x+(x-x)+x+(1-x+x)"}, -#define Tn1 g6 Xmulsinhneg q4 Xmulsinhneg,0,q7"/xmulsinhneg","-"wL2 a42 -#define Un1 g6 Xmulsinneg q4 Xmulsinneg,0,q7"/xmulsinneg","-sin(x*"h62 -#define Wn1 g6 Xmultanhneg q4 Xmultanhneg,0,q7"/xmultanhneg","-tanh"a42 -#define Yn1 g6 Xmultanneg q4 Xmultanneg,0,q7"/xmultanneg","-tan"a42 -#define So1 {1,N(0.5),3,N(0.7)qN q4 Xsqryfsqrhypot q4 Xsqryfsqrhypot,0,q7"/xsqryfsqrhypot","sqrt(log(x)^2+"wJ"^2"g31 -#define To1 {2,N(0.5),3,N(0.7)qN q4 Xsqrysqrhypot q4 Xsqrysqrhypot oC",y","10optimizer_bytecode/xsqrysqrhypot","sqrt(log(x)^2+y*y"g31 -#define Uo1 {1 a9 t1,q5 t1,q5 t1,"a",qE"1","(1/a"q83 -#define Wo1 {1 a9 t2,q5 t2,q5 t2,"a",qE"2","5*a"}, -#define Yo1 {1 a9 t3,q5 t3,q5 t3,"a",qE"3","5/a"}, -#define Sp1 {2 a9 t4,q5 t4,q5 t4,hF"4","(a*5)*b"}, -#define Tp1 {2 a9 t5,q5 t5,q5 t5,hF"5","(a*5)/b"}, -#define Up1 {2 a9 t6,q5 t6,q5 t6,hF"6","(1/a)*b"}, -#define Wp1 {2 a9 t7,q5 t7,q5 t7,hF"7","(1/a)/b"}, -#define Yp1 {2 a9 t8,q5 t8,q5 t8,hF"8",mD2")*("mE2")*"h62 -#define Sq1 {2 a9 t9,q5 t9,q5 t9,hF"9",mD2")/("mE2")*"h62 -#define Tq1 aA t10,q5 t10,q5 t10,hF"10",mE2")*(5/a"g31 -#define Uq1 aA t11,q5 t11,q5 t11,hF"11",mE2")/(50/a"g31 -#define Wq1 m52 t12,q5 t12,q5 t12,"a",qE"12","(-a)+5"}, -#define Yq1 aA t13,q5 t13,q5 t13,hF"13","5+(a*b"g31 -#define Sr1 aA t14,q5 t14,q5 t14,hF"14","5-(a*b"g31 -#define Tr1 aA t15,q5 t15,q5 t15,hF"15","(a+5)+"mE2 g31 -#define Ur1 aA t16,q5 t16,q5 t16,hF"16","(a+5)-abs(b"g31 -#define Wr1 aA t17,q5 t17,q5 t17,hF"17","(-a)+"mE2 g31 -#define Yr1 aA t18,q5 t18,q5 t18,hF"18","(-a)-abs(b"g31 -#define Ss1 aA t19,q5 t19,q5 t19,hF"19","b+("mD2")+"h62 -#define Ts1 aA t20,q5 t20,q5 t20,hF"20","b-("mD2")+"h62 -#define Us1 aA t21,q5 t21,q5 t21,hF"21",mE2")+(5-a"g31 -#define Ws1 aA t22,q5 t22,q5 t22,hF"22",mE2")-(5-a"g31 -#define Ys1 aA t23,q5 t23,q5 t23,hF"23",h31"b"q63 -#define St1 aA t24,q5 t24,q5 t24,hF"24",h31"5"q63 -#define Tt1 aA t25,q5 t25,q5 t25,hF"25",h31"5"q73 -#define Ut1 aA t26,q5 t26,q5 t26,hF"26","( abs(a)/b"q63 -#define Wt1 aA t27,q5 t27,q5 t27,hF"27","( abs(a)/b"q73 -#define Yt1 aA t28,q5 t28,q5 t28,hF"28","((-a)/b"q83 -#define Su1 aA t29,q5 t29,q5 t29,hF"29","(5/b"q73 -#define Tu1 m52 t30,q5 t30,q5 t30,"b",qE"30","(7/b"q83 -#define Uu1 aA t31,q5 t31,q5 t31,hF"31","b*(7/-a"g31 -#define Wu1 aA t32,q5 t32,q5 t32,hF"32","(5-b)-a"}, -#define Yu1 aA t33,q5 t33,q5 t33,hF"33","(5-b)+a"}, -#define Sv1 aA t34,q5 t34,q5 t34,hF"34","((a+7)-b)+5"}, -#define Tv1 aA t35,q5 t35,q5 t35,hF"35","((-a)-b)+5"}, -#define Uv1 m52 t36,q5 t36,q5 t36,"a",qE"36","(7-abs(a))+5"}, -#define Wv1 aA t37,q5 t37,q5 t37,hF"37","((7-b)+a)+5"}, -#define Yv1 aA t38,q5 t38,q5 t38,hF"38","((5*b+"mD2"))<0)*1 + (("mE2"))<0)*2"}, -#define Sw1 m52 t39,q5 t39,q5 t39,"a",qE"39","(a+7"q83 -#define Tw1 aA t40,q5 t40,q5 t40,hF"40","(b+(a*7))*5"}, -#define Uw1 aA t41,q5 t41,q5 t41,hF"41","(b-(a*7))*5"}, -#define Ww1 m52 t42,q5 t42,q5 t42,"a",qE"42","(a+7)+5"}, -#define Yw1 m52 t43,q5 t43,q5 t43,"a",qE"43","(a*7"q83 -#define Sx1 m62 q93 q2 q93 q2 q93 oQ1"abseq0"mJ1"=if(1,0,1)) + (if(1,0,1)=abs"g91 -#define Tx1 m62 a52 q2 a52 q2 a52 oQ1"absneq0"mJ1"=if(1,0,1)) + (if(1,0,1)=abs"g91 -#define Ux1 m62 Eq0,q2 Eq0,q2 Eq0,oQ1"eq0","(x=if("qT1" (if(1,0,0)=x)"}, -#define Wx1 m62 Eq1,q2 Eq1,q2 Eq1,oQ1"eq1","(!x=if("oM1}, -#define Yx1 aQ2 a62 q2 a62 q2 a62 oQ1"ge0_abs"mJ1 hB3 hH3 gM3"2"hU1 hJ3 gY3"<= "hH3" 8"hU1 hB3 hG3 -#define Sy1 aQ2 a72 q2 a72 q2 a72 oQ1"ge1_abs"mJ1 hB3 hI3 wK1 dS1 hJ3 gY3"<= "hI3" + 8"dS1 hB3 hG3 -#define Ty1 {1 d4 hF2,q2 Gehalf,q2 Gehalf,gQ"gehalf","x>=if(1,0.5,0"g31 -#define Uy1 aQ2 a82 q2 a82 q2 a82 oQ1"gt0_abs"mJ1" > "hH3 gM3"2"hU1" < "gY3"< "hH3" 8"hU1" > "hG3 -#define Wy1 aQ2 a92 q2 a92 q2 a92 oQ1"gt1_abs"mJ1" > "hI3 wK1 dS1" < "gY3"< "hI3" + 8"dS1" > "hG3 -#define Yy1 {1 d4 hF2,q2 Lthalf,q2 Lthalf,gQ"lthalf","x7 & x<2"}, -#define Wz1 {2,-9,9,gF3 t8,g1 t8 oC",y",oE"8",aA2"(-x,-y) + 10*"aA2"(-x,y) + 20*"aA2"(x,-y) + 30*"aA2"(x"mI1 -#define Yz1 {1 d4 gF3 t9a,g1 t9a,g1 t9a,m82"9a","a:=x;a*0"}, -#define S_1 wG1 t9b,g1 t9b,g1 t9b,aB2"9b","sub(a,b"qA3 -#define T_1 wG1 t9c,g1 t9c,g1 t9c,aB2"9c","psub(a,b"qA3 -#define U_1 wG1 t9d,g1 t9d,g1 t9d,aB2"9d","if(a,b*0,a*0"qA3 -#define W_1 {2,gM Add_cd,0 g2"add_cd","x+y"}, -#define Y_1 {2,qN3 Add_d,qG Add_d g2"add_d","x+y"}, -#define S02 {3,gM Addsub_cd,0 wK2,g9"addsub_cd","x+y+x+x-z+x"}, -#define T02 {3,qN3 Addsub_d,qG Addsub_d wK2,g9"addsub_d","x+y+x+x-z+x"}, -#define U02 {2,gH And_d,qG And_d g2"and_d","x&y"}, -#define W02 {2,gM Cmpeq_cd,0 g2"cmpeq_cd","x=y"}, -#define Y02 {2,gH Cmpeq_d,qG Cmpeq_d g2"cmpeq_d","x=y"}, -#define S12 {2,gH Cmpge_d,qG Cmpge_d g2"cmpge_d","x>=y"}, -#define T12 {2,gH Cmpgt_d,qG Cmpgt_d g2"cmpgt_d","x>y"}, -#define U12 {2,gH Cmple_d,qG Cmple_d g2"cmple_d","x<=y"}, -#define W12 {2,gH Cmplt_d,qG Cmplt_d g2"cmplt_d","x= "wH -#define UO2 oP Cmpge_powpow_imm_base,q2 Cmpge_powpow_imm_base,0 qK"cmpge_"hH hB3 wW -#define WO2 oP w61,q2 w61,q2 w61 qK"cmpgt_add_imm",h61 hJ2 -#define YO2 wP1 gM1 q2 gM1 q2 gM1 oQ1"cmpgt_add_reduce",dP" > "h3}, -#define SP2 oP hB1,q2 hB1,q2 hB1 qK"cmpgt_addadd_imm",dY") > "hZ -#define TP2 {hO a81,q2 a81,q2 a81 qK"cmpgt_minma"oS2" > "h13 -#define UP2 {hO hC1,q2 hC1,q2 hC1 qK"cmpgt_minma"oV2" > "gO3}, -#define WP2 oP gN1,q2 gN1,q2 gN1 qK"cmpgt_mul_imm_neg",oW2 hJ2 -#define YP2 oP gO1,q2 gO1,q2 gO1 qK"cmpgt_mul_imm_pos",a61 hJ2 -#define SQ2 oP mU,q2 mU,q2 mU qK"cmpgt_mulmul_imm_neg",qU2" > "hZ -#define TQ2 oP mV,q2 mV,q2 mV qK"cmpgt_mulmul_imm_pos",oX2" > "hZ -#define UQ2 dH1 Cmpgt_pow_imm_negneg,q2 Cmpgt_pow_imm_negneg,oN1 hS" > "gL3 -#define WQ2 dH1 Cmpgt_pow_imm_negpos,q2 Cmpgt_pow_imm_negpos,oN1 hT" > "gN3 -#define YQ2 wP1 Cmpgt_pow_imm_posneg,q2 Cmpgt_pow_imm_posneg,oN1 d0" > "gT3 -#define SR2 wP1 Cmpgt_pow_imm_pospos,q2 Cmpgt_pow_imm_pospos,oN1 d1" > "h23 -#define TR2 wP1 Cmpgt_pow_imm_pospos_base,q2 Cmpgt_pow_imm_pospos_base,oN1 gQ3"> "wH -#define UR2 oP Cmpgt_powpow_imm_base,q2 Cmpgt_powpow_imm_base,0 qK"cmpgt_"hH" > "wW -#define WR2 oP w71,q2 w71,q2 w71 qK"cmple_add_imm",h61 qW2 -#define YR2 wP1 gP1 q2 gP1 q2 gP1 oQ1"cmple_add_reduce",dP hJ3 h3}, -#define SS2 oP hD1,q2 hD1,q2 hD1 qK"cmple_addadd_imm",dY")"hJ3 hZ -#define TS2 {hO a91,q2 a91,q2 a91 qK"cmple_minma"oS2 hJ3 h13 -#define US2 {hO hE1,q2 hE1,q2 hE1 qK"cmple_minma"oV2 hJ3 gO3}, -#define WS2 oP gQ1,q2 gQ1,q2 gQ1 qK"cmple_mul_imm_neg",oW2 qW2 -#define YS2 oP gR1,q2 gR1,q2 gR1 qK"cmple_mul_imm_pos",a61 qW2 -#define ST2 oP mW,q2 mW,q2 mW qK"cmple_mulmul_imm_neg",qU2 hJ3 hZ -#define TT2 oP mX,q2 mX,q2 mX qK"cmple_mulmul_imm_pos",oX2 hJ3 hZ -#define UT2 dH1 Cmple_pow_imm_negneg,q2 Cmple_pow_imm_negneg dW1 hS hJ3 gL3 -#define WT2 dH1 Cmple_pow_imm_negpos,q2 Cmple_pow_imm_negpos dW1 hT hJ3 gN3 -#define YT2 wP1 Cmple_pow_imm_posneg,q2 Cmple_pow_imm_posneg dW1 d0 hJ3 gT3 -#define SU2 wP1 Cmple_pow_imm_pospos,q2 Cmple_pow_imm_pospos dW1 d1 hJ3 h23 -#define TU2 wP1 Cmple_pow_imm_pospos_base,q2 Cmple_pow_imm_pospos_base dW1 gQ3"<= "wH -#define UU2 oP Cmple_powpow_imm_base,q2 Cmple_powpow_imm_base,0 qK"cmple_"hH hJ3 wW -#define WU2 oP w81,q2 w81,q2 w81 qK"cmplt_add_imm",h61 hK2 -#define YU2 wP1 gS1 q2 gS1 q2 gS1 oQ1"cmplt_add_reduce",dP" < "h3}, -#define SV2 oP hF1,q2 hF1,q2 hF1 qK"cmplt_addadd_imm",dY") < "hZ -#define TV2 {hO aA1,q2 aA1,q2 aA1 qK"cmplt_minma"oS2" < "h13 -#define UV2 {hO hG1,q2 hG1,q2 hG1 qK"cmplt_minma"oV2" < "gO3}, -#define WV2 oP gT1,q2 gT1,q2 gT1 qK"cmplt_mul_imm_neg",oW2 hK2 -#define YV2 oP gU1,q2 gU1,q2 gU1 qK"cmplt_mul_imm_pos",a61 hK2 -#define SW2 oP mY,q2 mY,q2 mY qK"cmplt_mulmul_imm_neg",qU2" < "hZ -#define TW2 oP mZ,q2 mZ,q2 mZ qK"cmplt_mulmul_imm_pos",oX2" < "hZ -#define UW2 dH1 Cmplt_pow_imm_negneg,q2 Cmplt_pow_imm_negneg,oA1 hS" < "gL3 -#define WW2 dH1 Cmplt_pow_imm_negpos,q2 Cmplt_pow_imm_negpos,oA1 hT" < "gN3 -#define YW2 wP1 Cmplt_pow_imm_posneg,q2 Cmplt_pow_imm_posneg,oA1 d0" < "gT3 -#define SX2 wP1 Cmplt_pow_imm_pospos,q2 Cmplt_pow_imm_pospos,oA1 d1" < "h23 -#define TX2 wP1 Cmplt_pow_imm_pospos_base,q2 Cmplt_pow_imm_pospos_base,oA1 gQ3"< "wH -#define UX2 oP Cmplt_powpow_imm_base,q2 Cmplt_powpow_imm_base,0 qK"cmplt_"hH" < "wW -#define WX2 oP w91,q2 w91,q2 w91 qK"cmpne_add_imm",h61 qX2 -#define YX2 wP1 gV1 q2 gV1 q2 gV1 oQ1"cmpne_add_reduce",dP aZ2 h3}, -#define SY2 oP hH1,q2 hH1,q2 hH1 qK"cmpne_addadd_imm",dY")"aZ2 hZ -#define TY2 {hO aB1,q2 aB1,q2 aB1 qK"cmpne_minma"oS2 hC3 h13 -#define UY2 {hO hI1,q2 hI1,q2 hI1 qK"cmpne_minma"oV2 hC3 gO3}, -#define WY2 oP gW1,q2 gW1,q2 gW1 qK"cmpne_mul_imm_neg",oW2 qX2 -#define YY2 oP gX1,q2 gX1,q2 gX1 qK"cmpne_mul_imm_pos",a61 qX2 -#define SZ2 oP q01,q2 q01,q2 q01 qK"cmpne_mulmul_imm_neg",qU2 aZ2 hZ -#define TZ2 oP q11,q2 q11,q2 q11 qK"cmpne_mulmul_imm_pos",oX2 aZ2 hZ -#define UZ2 dH1 Cmpne_pow_imm_negneg,q2 Cmpne_pow_imm_negneg dX1 hS hC3 gL3 -#define WZ2 dH1 Cmpne_pow_imm_negpos,q2 Cmpne_pow_imm_negpos dX1 hT hC3 gN3 -#define YZ2 wP1 Cmpne_pow_imm_posneg,q2 Cmpne_pow_imm_posneg dX1 d0 hC3 gT3 -#define Sa2 wP1 Cmpne_pow_imm_pospos,q2 Cmpne_pow_imm_pospos dX1 d1 hC3 h23 -#define Ta2 wP1 Cmpne_pow_imm_pospos_base,q2 Cmpne_pow_imm_pospos_base dX1 gQ3"!= "wH -#define Ua2 oP Cmpne_powpow_imm_base,q2 Cmpne_powpow_imm_base,0 qK"cmpne_"hH aZ2 wW -#define Wa2 oP wA1,q2 wA1,q2 wA1 qK"cmpzz_add_imm"oN m02 hL2 m02 qY2 m02 hO2 m02 hP2 m02 qZ2 h61 hI2 -#define Ya2 wP1 gY1 q2 gY1 q2 gY1 oQ1"cmpzz_add_reduce"oN" "dP" < "h3 a6" "dP hJ3 h3 a8" "dP" > "h3 oS" "dP hB3 h3 o41" "dP aZ2 h3 dV dP" = "h3}, -#define Sb2 oP hJ1,q2 hJ1,q2 hJ1 qK"cmpzz_addadd_imm"oN" "dY aC1" "dY aD1" "dY aE1" "dY aF1" "dY aG1 dY") = "hZ -#define Tb2 {hO aH1,q2 aH1,q2 aH1 qK"cmpzz_minmax"oN hK1" < "hE3 a6 hK1 hJ3 hE3 a8 hK1" > "hE3 oS hK1 hB3"y,x,y"a7 hK1 hC3 hE3" + 0x0020 *"hK1" = "h13 -#define Ub2 {hO hO1,q2 hO1,q2 hO1 qK"cmpzz_minmax_rev"oN hK1" < "gO3 a6 hK1 hJ3 gO3 a8 hK1" > "gO3 oS hK1 hB3 gO3 o41 hK1 hC3 gO3" + 0x0020 *"hK1" = "gO3}, -#define Wb2 oP gZ1,q2 gZ1,q2 gZ1 qK"cmpzz_mul_imm_neg"oN mZ1 hL2 mZ1 qY2 mZ1 hO2 mZ1 hP2 mZ1 qZ2 oW2 hI2 -#define Yb2 oP h01,q2 h01,q2 h01 qK"cmpzz_mul_imm_pos"oN q02 hL2 q02 qY2 q02 hO2 q02 hP2 q02 qZ2 a61 hI2 -#define Sc2 oP q21,q2 q21,q2 q21 qK"cmpzz_mulmul_imm_neg"oN qV1 aC1 qV1 aD1 qV1 aE1 qV1 aF1 qV1 aG1 qU2" = "hZ -#define Tc2 oP q31,q2 q31,q2 q31 qK"cmpzz_mulmul_imm_pos"oN g81 aC1 g81 aD1 g81 aE1 g81 aF1 g81 aG1 oX2" = "hZ -#define Uc2 dH1 Cmpzz_pow_imm_negneg,q2 Cmpzz_pow_imm_negneg,q71"_imm_negneg"oN d41" < "gU3 a6 d41 hJ3 gU3 a8 d41" > "gU3 oS d41 hB3"-0.015625"a7 d41 hC3 gU3 dV gJ",-3) = "gL3 -#define Wc2 dH1 Cmpzz_pow_imm_negpos,q2 Cmpzz_pow_imm_negpos,q71"_imm_negpos"oN d51" < "h33 a6 d51 hJ3 h33 a8 d51" > "h33 oS d51 hB3"0.0625"a7 d51 hC3 h33 dV gJ",-2) = "gN3 -#define Yc2 wP1 Cmpzz_pow_imm_posneg,q2 Cmpzz_pow_imm_posneg,q71"_imm_posneg"oN oB1" < "hT3 a6 oB1 hJ3 hT3 a8 oB1" > "hT3 oS oB1 hB3"-125"a7 oB1 hC3 hT3 dV gJ",3) = "gT3 -#define Sd2 wP1 Cmpzz_pow_imm_pospos,q2 Cmpzz_pow_imm_pospos,q71"_imm_pospos"oN oC1" < 25)"a6 oC1 hJ3"25)"a8 oC1" > 25)"oS oC1 hB3"25"a7 oC1 hC3"25)"dV gJ",2) = "h23 -#define Td2 wP1 Cmpzz_pow_imm_pospos_base,q2 Cmpzz_pow_imm_pospos_base,q71"_imm_pospos_base"oN d03"< "q61 a6 d03"<= "q61 a8 d03"> "q61 oS d03">= "q61 o41 d03"!= "q61 dV gR3"= "wH -#define Ud2 oP Cmpzz_powpow_imm_base,q2 Cmpzz_powpow_imm_base,0 qK"cmpzz_powpow_imm_base"oN gC3" < "gA1 a6 gC3 hJ3 gA1 a8 gC3" > "gA1 oS gC3 hB3 gA1 o41 gC3 aZ2 gA1 dV qQ1" = "wW -#define Wd2 {1,N(0.0,0.0)qV Eq0,q2 Eq0,q2 Eq0,oQ1"eq0","(x=if("qT1" (if(1,0,0)=x)"}, -#define Yd2 {1,N(0.0,0.0)qV Eq1,q2 Eq1,q2 Eq1,oQ1"eq1","(!x=if("oM1}, -#define Se2 {1 mI a62 q2 a62 q2 a62 oQ1"ge0_abs"mJ1 hB3 hH3 gM3"2"hU1 hJ3 gY3"<= "hH3" 8"hU1 hB3 hG3 -#define Te2 {1 mI a72 q2 a72 q2 a72 oQ1"ge1_abs"mJ1 hB3 hI3 wK1 dS1 hJ3 gY3"<= "hI3" + 8"dS1 hB3 hG3 -#define Ue2 {hO hQ2,q2 hQ2,q2 hQ2 qK"ge_and_eq",mL2 oS1 -#define We2 {hO hR2,q2 hR2,q2 hR2 qK"ge_and_le",mL2 oY2 -#define Ye2 {hO hS2,q2 hS2,q2 hS2 qK"ge_and_ne",mL2 oT1 -#define Sf2 {hO oZ2,q2 oZ2,q2 oZ2 qK"ge_or_eq",mM2 oS1 -#define Tf2 {hO w02,q2 w02,q2 w02 qK"ge_or_le",mM2 oY2 -#define Uf2 {hO w12,q2 w12,q2 w12 qK"ge_or_ne",mM2 oT1 -#define Wf2 {1,N(-1.0,0.0),mF1 N(0.25,0.0)qN,q2 Gehalf,q2 Gehalf,gQ"gehalf","x>=if(1,0.5,0"g31 -#define Yf2 {1 mI a82 q2 a82 q2 a82 oQ1"gt0_abs"mJ1" > "hH3 gM3"2"hU1" < "gY3"< "hH3" 8"hU1" > "hG3 -#define Sg2 {1 mI a92 q2 a92 q2 a92 oQ1"gt1_abs"mJ1" > "hI3 wK1 dS1" < "gY3"< "hI3" + 8"dS1" > "hG3 -#define Tg2 {hO hT2,q2 hT2,q2 hT2 qK"gt_and_eq"h02 oS1 -#define Ug2 {hO hU2,q2 hU2,q2 hU2 qK"gt_and_ge"h02 m6}, -#define Wg2 {hO hV2,q2 hV2,q2 hV2 qK"gt_and_le"h02 oY2 -#define Yg2 {hO hW2,q2 hW2,q2 hW2 qK"gt_and_ne"h02 oT1 -#define Sh2 {hO w22,q2 w22,q2 w22 qK"gt_or_eq"h12 oS1 -#define Th2 {hO w32,q2 w32,q2 w32 qK"gt_or_ge"h12 m6}, -#define Uh2 {hO w42,q2 w42,q2 w42 qK"gt_or_le"h12 oY2 -#define Wh2 {hO w52,q2 w52,q2 w52 qK"gt_or_ne"h12 oT1 -#define Yh2 {1,N(0.0,0.0)qV If10,q2 If10,q2 If10,oQ1"if10",dX",1,0) + 10*"dX",0,1)"gM3"+ 100*"dX">0,1,0) + 1000*"dX">0,0,1"g31 -#define Si2 {2,gE o51,q2 o51,q2 o51 mJ"tract_abs",dX", abs(x+2), abs(y+5))"}, -#define Ti2 {2,gE o61,q2 o61,q2 o61 mJ"tract_add",dX", y+2, y+"h62 -#define Ui2 {2,gE d91,q2 d91,q2 d91 mJ"tract_add1",dX", y+2, y"g31 -#define Wi2 {2,gE dA1,q2 dA1,q2 dA1 mJ"tract_add2",dX", y, y+2"g31 -#define Yi2 {o5 qM1 q2 qM1 q2 qM1"x"dO"tract_and1_l",dX", y&z, y<1"g31 -#define Sj2 {o5 q41 q2 q41 q2 q41"x"dO"tract_and1_nl",dX", y&z, z"g31 -#define Tj2 {o5 qN1 q2 qN1 q2 qN1"x"dO"tract_and2_l",dX", y<1, y&z"g31 -#define Uj2 {o5 q51 q2 q51 q2 q51"x"dO"tract_and2_nl",dX", z, y&z"g31 -#define Wj2 {2,gE o71,q2 o71,q2 o71 mJ"tract_min",dX", min(y,2), min(y,5))"}, -#define Yj2 {2,gE o81,q2 o81,q2 o81 mJ"tract_mul",dX", y*2, y*"h62 -#define Sk2 {2,gE dB1,q2 dB1,q2 dB1 mJ"tract_mul1",dX", y*2, y"g31 -#define Tk2 {2,gE dC1,q2 dC1,q2 dC1 mJ"tract_mul2",dX", y, y*2"g31 -#define Uk2 {o5 h11 q2 h11 q2 h11"x"dO"tract_or1_l",dX", y|z, y<1"g31 -#define Wk2 {o5 qO1 q2 qO1 q2 qO1"x"dO"tract_or1_nl",dX", y|z, z"g31 -#define Yk2 {o5 h21 q2 h21 q2 h21"x"dO"tract_or2_l",dX", y<1, y|z"g31 -#define Sl2 {o5 qP1 q2 qP1 q2 qP1"x"dO"tract_or2_nl",dX", z, y|z"g31 -#define Tl2 {2,N(-4.0,0.0),mT1 N(0.5,0.0)qN,q2 If_extract_sin,q2 If_extract_sin,0 mJ"tract_sin",dX", sin(y), "gW3 -#define Ul2 {2,h2 If_join_add,q2 If_join_add,0 qK"if_join_add",dX dA" +"aO1 -#define Wl2 {1,qO3 N(5.0,0.0),qD1 wB1 q2 wB1 q2 wB1 oQ1"if_join_add2","x + 10 +"hK1"<4, 3,4"g31 -#define Yl2 {2,h2 If_join_and,q2 If_join_and,0 qK"if_join_and",dX dA" &"aO1 -#define Sm2 {2,h2 If_join_max,q2 If_join_max,0 qK"if_join_max","max("dX dA", "hU3")))"}, -#define Tm2 {2,h2 If_join_min,q2 If_join_min,0 qK"if_join_min","min("dX dA", "hU3")))"}, -#define Um2 {2,h2 If_join_mul,q2 If_join_mul,0 qK"if_join_mul",dX dA" *"aO1 -#define Wm2 {1,qO3 N(5.0,0.0),qD1 wC1 q2 wC1 q2 wC1 oQ1"if_join_mul2","x * 10 *"hK1"<4, 3,4"g31 -#define Ym2 {2,h2 If_join_or,q2 If_join_or,0 qK"if_join_or",dX dA" | "hU3"))"}, -#define Sn2 {1 mI Ifabs,q2 Ifabs,q2 Ifabs,oQ1"ifabs","1"dM1"< 0,-x,"gV3" 10"dM1"<=0,-x,"gV3" 100"dM1"> 0,-x,"gV3"1000"dM1">=0,-x,"mL1 gM3 gM3"10000"dM1"< 0,x"mN2 gM3" 100000"dM1"<=0,x"mN2 gM3" 1000000"dM1"> 0,x"mN2" 10000000"dM1">=0,x,-"mH2 -#define Tn2 {3 gU Ifabsnot,q2 Ifabsnot wP"ifabsnot","if(!(sin(x)+1.2), y,z"g31 -#define Un2 {3 gU Ifconst,q2 Ifconst wP"ifconst","if(1, x,y) + if(0,z,y"g31 -#define Wn2 {4,N(0.0,0.0)qV Ififconst,q2 Ififconst,0,"w,"mH"ififconst","if("dX",1,y),z,w) + if(if(w,z,0),"oT2 -#define Yn2 {4 mI w62 q2 w62 q2 w62"b,d,"oU2"ifmerge",dX oC2"y,x,b)"oC2"y,x,d)) + if(b,if(d,y,x)"oC2"d,b,"mH2 -#define So2 {4 mI hX2 q2 hX2 q2 hX2"a,b,"oU2"ifmerge2",dX oC2"y,a,b)"oC2"b,a,b))"}, -#define To2 {4 mI g02 q2 g02 q2 g02"a,b,"oU2"ifmerge2b",dX oC2"y,a,b)"oC2"b,b,a))"}, -#define Uo2 {hO Ifnop,q2 Ifnop,q2 Ifnop qK"ifnop",dX",y,y"g31 -#define Wo2 {gB1 Ifnot,q2 Ifnot wP"ifnot","if(!x, y,z"g31 -#define Yo2 hI L_abs,q2 L_abs,q2 L_abs qK"l_abs","(x+2) & abs(x)"oR1 -#define Sp2 hI w72,q2 w72,q2 w72 qK"l_mulabs","(x*abs(y))"oR1 -#define Tp2 hI w82,q2 w82,q2 w82 qK"l_mulneg","(x*y*-5)"oR1 -#define Up2 hI w92,q2 w92,q2 w92 qK"l_notnot","(x+2) & !!x"oR1 -#define Wp2 {hO hZ2,q2 hZ2,q2 hZ2 qK"le_and_eq",hS3"& "oS1 -#define Yp2 {hO d02,q2 d02,q2 d02 qK"le_and_ne",hS3"& "oT1 -#define Sq2 {hO wA2,q2 wA2,q2 wA2 qK"le_or_eq",hS3"| "oS1 -#define Tq2 {hO wB2,q2 wB2,q2 wB2 qK"le_or_ne",hS3"| "oT1 -#define Uq2 {hO d12,q2 d12,q2 d12 qK"lt_and_eq"d22 oS1 -#define Wq2 {hO d32,q2 d32,q2 d32 qK"lt_and_ge"d22 m6}, -#define Yq2 {hO d42,q2 d42,q2 d42 qK"lt_and_gt"d22"(x > y"g31 -#define Sr2 {hO d52,q2 d52,q2 d52 qK"lt_and_le"d22 oY2 -#define Tr2 {hO d62,q2 d62,q2 d62 qK"lt_and_ne"d22 oT1 -#define Ur2 {hO wC2,q2 wC2,q2 wC2 qK"lt_or_eq"m22 oS1 -#define Wr2 {hO wD2,q2 wD2,q2 wD2 qK"lt_or_ge"m22 m6}, -#define Yr2 {hO wE2,q2 wE2,q2 wE2 qK"lt_or_gt"m22"(x > y"g31 -#define Ss2 {hO wF2,q2 wF2,q2 wF2 qK"lt_or_le"m22 oY2 -#define Ts2 {hO wG2,q2 wG2,q2 wG2 qK"lt_or_ne"m22 oT1 -#define Us2 {1,N(-1.0,0.0),mF1 N(0.25,0.0)qN,q2 Lthalf,q2 Lthalf,gQ"lthalf","x "gP3 -#define Sy2 {hO Not_le,q2 Not_le,q2 Not_le qK"not_le",dX hJ3 gP3 -#define Ty2 {hO Not_lt,q2 Not_lt,q2 Not_lt qK"not_lt",dX" < "gP3 -#define Uy2 {hO Not_ne,q2 Not_ne,q2 Not_ne qK"not_ne",dX hC3 gP3 -#define Wy2 {2,gE Notnot,q2 Notnot,q2 Notnot qK"notnot","!!x + if(y, 1,0"g31 -#define Yy2 {1 gU Posnot,q2 Posnot,gQ"posnot","!(sin(x) + 1.2"g31 -#define Sz2 {1 gU Posnotnot,q2 Posnotnot,gQ"posnotnot","!!(sin(x) + 1.2"g31 -#define Tz2 {1,N(0.25,0.0),mF1 N(0.25,0.0)qN,q2 Powimmaddimmlog,q2 Powimmaddimmlog mO1"immaddimmlog","pow(5, log(x)+1"g31 -#define Uz2 {1,N(0.25,0.0),oJ2,N(0.25,0.0)qN,q2 Powimmlog,q2 Powimmlog mO1"immlog","pow(3, log(x)) + pow(5, log(x)*sin(x))"}, -#define Wz2 {hN Powmulimm_fnen,q2 Powmulimm_fnen oC dN1"mulimm_fnen",oD1"^(-8"g31 -#define Yz2 {2,dL Powmulimm_fnep,q2 Powmulimm_fnep oC dN1"mulimm_fnep",oD1"^(4"g31 -#define S_2 {1,N(-3.0,0.0),N(-1.0,0.0),N(0.5,0.0)qN,q2 Powmulimm_fnfn,q2 Powmulimm_fnfn mO1"mulimm_fnfn","((-5.1)*x)^(-7.1"g31 -#define T_2 {2,dL Powmulimm_fnfp,q2 Powmulimm_fnfp oC dN1"mulimm_fnfp",oD1"^7.1"}, -#define U_2 {2,dL Powmulimm_fpfp,q2 Powmulimm_fpfp oC dN1"mulimm_fpfp","(5.1*x*y)^7.1"}, -#define W_2 {1 gU Sub1cos2,q2 Sub1cos2,gQ"sub1cos2","1-cos(x)^2"}, -#define Y_2 {1 gU Sub1sin2,q2 Sub1sin2,gQ"sub1sin2","1-"qA2"^2"}, -#define S03 {1,N(-9.42477796076937971538793014983850865259,0.0),N(9.42477796076937971538793014983850865259,0.0),N(0.785398163397448309615660845819875721049292349,0.0)qN,q2 Trig_modulo,q2 Trig_modulo,gQ"trig_modulo","cos(x+pi"qG1"2/3"qG1"5/2"qG1"6/2"qG1 wQ2 gM3 oE1")"oX1"2/3)"oX1"5/2)"oX1"6/2)"oX1 wQ2 gM3"cos(x-pi"dG1"2/3"dG1"5/2"dG1"6/2"dG1 wQ2" "oF1")"wR2"2/3)"wR2"5/2)"wR2"6/2)"wR2"7/2"g31 -#define T03 {1,N(-3.0,0.0),qO3 N(0.25,0.0)qN,q2 Trunc_from_if,q2 Trunc_from_if,gQ"trunc_from_if",dX">0, "h63 dD2">=0, "h63 dD2"<0, "h43 dD2"<=0,"hN3">0, "hN3">=0,"hN3"<0, "h63" 10*"dX"<=0, floor(x),ceil"g91 -#define U03 {1,N(-5.0,0.0),N(5.0,0.0),qD1 wH2 q2 wH2 q2 wH2"x"q6"/xaddnot","!(x+if(1,4,4))"}, -#define W03 {1,N(-5.0,0.0),N(5.0,0.0),qD1 mM1 q2 mM1 q2 mM1"x"q6"/xaddnotnot","!!(x+if(1,4,4))"}, +#define S {2,-h51 Add_i,0,qG Add_i,oO1"add_i","x+y"}, +#define T {3,-h51 Addsub_i,0,qG Addsub_i,mN2 g0"addsub_i","x+y+x+x-z+x"}, +#define U {2,wI And_i,0,qG And_i,oO1"and_i","x&y"}, +#define W {2,wI Cmpeq_i,0,qG Cmpeq_i,oO1"cmpeq_i","x=y"}, +#define Y {2,wI Cmpge_i,0,qG Cmpge_i,oO1"cmpge_i","x>=y"}, +#define S1 {2,wI Cmpgt_i,0,qG Cmpgt_i,oO1"cmpgt_i","x>y"}, +#define T1 {2,wI Cmple_i,0,qG Cmple_i,oO1"cmple_i","x<=y"}, +#define U1 {2,wI Cmplt_i,0,qG Cmplt_i,oO1"cmplt_i","x= 4, "d63" >= 0"o02 +#define U5 oE2 wB mQ2 q4 mQ2 q4 mQ2 g5"absnzlt","sub(abs(x)"dH3"4, "d63 dH3"0"o02 +#define W5 aE1 Abssqr q4 Abssqr q4 Abssqr g5"abssqr","abs(x)*abs(x)"}, +#define Y5 {1 aG wB qF2 q4 qF2 q4 qF2 g5"dupaddmul7","(x+x)*7"}, +#define S6 aD1 hC2 q4 hC2 q4 hC2 g5 mD1,"sub(min(x,x), max(x,"mR2 +#define T6 aD1 qG2 q4 qG2 q4 qG2 g5 mD1"2","sub(x+min(x,x), x+max(x,"mR2 +#define U6 {2,-2,2,wB qH2 q4 qH2 q4 qH2,mO2 mD1"3","sub(min(min(y,x),x), max(max(y,x),"mR2 +#define W6 aD1 qI2 q4 qI2 q4 qI2 g5"dupxmuladd","x+(x*4"o02 +#define Y6 oP1 Invmul q4 Invmul q4 Invmul,mO2"invmul","y*(1/x)"}, +#define S7 qK3 Max q4 Max q4 Max g5"max","max(5,4)+x"}, +#define T7 qK3 Min q4 Min q4 Min g5"min","min(4,5)+x"}, +#define U7 qK3 Mul2 q4 Mul2 q4 Mul2 g5"mul2","x*2"}, +#define W7 {2 aG wB Mul4 q4 Mul4 q4 Mul4,mO2"mul4","y*(x*2)*2 + (y*2)*2"}, +#define Y7 aE1 Negabs q4 Negabs q4 Negabs g5"negabs","abs"g72 +#define S8 aE1 Negdiv q4 Negdiv q4 Negdiv g5"negdiv","(-x)/5"}, +#define T8 {1 aG 2 qM hT3 hT3 hT3 g5"negneg","-(-(-(-(-(-(x))))))"}, +#define U8 aE1 Negnot q4 Negnot q4 Negnot g5"negnot","!"g72 +#define W8 aE1 Negsqr q4 Negsqr q4 Negsqr g5"negsqr","(-x)*(-"oS2 +#define Y8 {2 hZ Not_eq q4 Not_eq q4 Not_eq,mO2"not_eq","!"oS1 +#define S9 {2 hZ Not_ge q4 Not_ge q4 Not_ge,mO2"not_ge","!"m7}, +#define T9 {2 hZ Not_gt q4 Not_gt q4 Not_gt,mO2"not_gt","!(x > y"o02 +#define U9 {2 hZ Not_le q4 Not_le q4 Not_le,mO2"not_le","!"hN1}, +#define W9 {2 hZ Not_lt q4 Not_lt q4 Not_lt,mO2"not_lt","!(x"dH3"y"o02 +#define Y9 {2 hZ Not_ne q4 Not_ne q4 Not_ne,mO2"not_ne","!"dJ1 +#define SA aE1 Notnot q4 Notnot q4 Notnot g5"notnot","!!(x)"}, +#define TA aE1 hD2 q4 hD2 q4 hD2 g5"notnotnot","!!!(x)"}, +#define UA aE1 qJ2 q4 qJ2 q4 qJ2 g5"notnotnot2","!x&!x"}, +#define WA aE1 mS2 q4 mS2 q4 mS2 g5"sqr_nxx","(-x)*x"}, +#define YA aE1 mT2 q4 mT2 q4 mT2 g5"sqr_xnx","x*(-"oS2 +#define SB aE1 Sqr_xx q4 Sqr_xx q4 Sqr_xx g5"sqr_xx","x*x"}, +#define TB gO2 oT2 q4 oT2 q4 oT2,mO2"sqr_ynxx","y*-x*x"}, +#define UB gO2 oU2 q4 oU2 q4 oU2,mO2"sqr_yxnx","y*x*-x"}, +#define WB gO2 mU2 q4 mU2 q4 mU2,mO2"sqr_yxx","y*x*x"}, +#define YB oE2 wB mV2 q4 mV2 q4 mV2,q7"/xaddnot","!(x+4"o02 +#define SC oE2 wB Xaddnotnot q4 Xaddnotnot q4 mH1 q7"/xaddnotnot","!!(x+4"o02 +#define TC aE1 Xxdup q4 Xxdup q4 Xxdup,q7"/xxdup","sub(x,"oS2 +#define UC gO2 oV2 q4 oV2 q4 oV2,"x,y","10optimizer_bytecode/xxsqrdup","y*abs(x)*abs(x)"}, +#define WC oE2 gQ oW2 q2 oW2 q2 oW2 oK1"absnzge","sub(abs(x) >= if("oX2"), "d63" >= (if(1,1,0)-1))"}, +#define YC oE2 gQ oY2 q2 oY2 q2 oY2 oK1"absnzlt","sub(abs(x)"dH3"if("oX2"), "d63 dH3"(if(1,1,0)-1))"}, +#define SD {2 wR1 mE1,q2 mE1,q2 mE1 qN"addconstmul","5*(if("oX2")+x+y"o02 +#define TD {2 wR1 dR1,q2 dR1,q2 dR1 qN"addmulconstmul","5*(if("oX2")*y+x)"}, +#define UD {2 wR1 wS1,q2 wS1,q2 wS1 qN"addnegmulneg","-5 + (if(1,5,0)*x*y"o02 +#define WD {2 wR1 wT1,q2 wT1,q2 wT1 qN"addnegmulpos","(if(1,-5,0)*y"qI3"if(1,5,0)*x)"}, +#define YD wG w01,q2 w01,q2 w01 qN"cmpeq_add_imm",h61 hE2 +#define SE {1,qJ gH1 q2 gH1 q2 gH1 oK1"cmpeq_add_reduce",d73"="dQ3 +#define TE wG h81,q2 h81,q2 h81 qN"cmpeq_addadd_imm",o7 w72 +#define UE wH wU1,q2 wU1,q2 wU1 qN"cmpeq_minma"oZ2" = "hF3 +#define WE wH h91,q2 h91,q2 h91 qN"cmpeq_minmax"d83"= "h93 +#define YE wG gI1,q2 gI1,q2 gI1 qN"cmpeq_mul_imm_neg",dT1 hE2 +#define SF wG gJ1,q2 gJ1,q2 gJ1 qN"cmpeq_mul_imm_pos",wV1 hE2 +#define TF wG mP,q2 mP,q2 mP qN"cmpeq_mulmul_imm_neg",mM2 w72 +#define UF wG mQ,q2 mQ,q2 mQ qN"cmpeq_mulmul_imm_pos",gP3 w72 +#define WF wG w11,q2 w11,q2 w11 qN"cmpge_add_imm",h61 qK2 +#define YF {1,qJ gK1 q2 gK1 q2 gK1 oK1"cmpge_add_reduce",d73">="dQ3 +#define SG wG hA1,q2 hA1,q2 hA1 qN"cmpge_addadd_imm",o7 o72 +#define TG wH wW1,q2 wW1,q2 wW1 qN"cmpge_minma"oZ2 dO3 hF3 +#define UG wH hB1,q2 hB1,q2 hB1 qN"cmpge_minmax"d83">= "h93 +#define WG wG gL1,q2 gL1,q2 gL1 qN"cmpge_mul_imm_neg",dT1 qK2 +#define YG wG gM1,q2 gM1,q2 gM1 qN"cmpge_mul_imm_pos",wV1 qK2 +#define SH wG mR,q2 mR,q2 mR qN"cmpge_mulmul_imm_neg",mM2 o72 +#define TH wG mS,q2 mS,q2 mS qN"cmpge_mulmul_imm_pos",gP3 o72 +#define UH wG w21,q2 w21,q2 w21 qN"cmpgt_add_imm",h61 hF2 +#define WH {1,qJ gN1 q2 gN1 q2 gN1 oK1"cmpgt_add_reduce",d73">"dQ3 +#define YH wG hC1,q2 hC1,q2 hC1 qN"cmpgt_addadd_imm",o7 w52 +#define SI wH wX1,q2 wX1,q2 wX1 qN"cmpgt_minma"oZ2" > "hF3 +#define TI wH hD1,q2 hD1,q2 hD1 qN"cmpgt_minmax"d83"> "h93 +#define UI wG gO1,q2 gO1,q2 gO1 qN"cmpgt_mul_imm_neg",dT1 hF2 +#define WI wG gP1,q2 gP1,q2 gP1 qN"cmpgt_mul_imm_pos",wV1 hF2 +#define YI wG mT,q2 mT,q2 mT qN"cmpgt_mulmul_imm_neg",mM2 w52 +#define SJ wG mU,q2 mU,q2 mU qN"cmpgt_mulmul_imm_pos",gP3 w52 +#define TJ wG w31,q2 w31,q2 w31 qN"cmple_add_imm",h61 qL2 +#define UJ {1,qJ gQ1 q2 gQ1 q2 gQ1 oK1"cmple_add_reduce",d73"<="dQ3 +#define WJ wG hE1,q2 hE1,q2 hE1 qN"cmple_addadd_imm",o7 w62 +#define YJ wH wY1,q2 wY1,q2 wY1 qN"cmple_minma"oZ2 dN3 hF3 +#define SK wH hF1,q2 hF1,q2 hF1 qN"cmple_minmax"d83"<= "h93 +#define TK wG gR1,q2 gR1,q2 gR1 qN"cmple_mul_imm_neg",dT1 qL2 +#define UK wG gS1,q2 gS1,q2 gS1 qN"cmple_mul_imm_pos",wV1 qL2 +#define WK wG mV,q2 mV,q2 mV qN"cmple_mulmul_imm_neg",mM2 w62 +#define YK wG mW,q2 mW,q2 mW qN"cmple_mulmul_imm_pos",gP3 w62 +#define SL wG w41,q2 w41,q2 w41 qN"cmplt_add_imm",h61 qM2}, +#define TL {1,qJ gT1 q2 gT1 q2 gT1 oK1"cmplt_add_reduce",d73"<"dQ3 +#define UL wG hG1,q2 hG1,q2 hG1 qN"cmplt_addadd_imm",o7")"dH3 hY +#define WL wH wZ1,q2 wZ1,q2 wZ1 qN"cmplt_minma"oZ2 dH3 hF3 +#define YL wH hH1,q2 hH1,q2 hH1 qN"cmplt_minmax"d83"< "h93 +#define SM wG gU1,q2 gU1,q2 gU1 qN"cmplt_mul_imm_neg",dT1 qM2}, +#define TM wG gV1,q2 gV1,q2 gV1 qN"cmplt_mul_imm_pos",wV1 qM2}, +#define UM wG mX,q2 mX,q2 mX qN"cmplt_mulmul_imm_neg",mM2")"dH3 hY +#define WM wG mY,q2 mY,q2 mY qN"cmplt_mulmul_imm_pos",wJ"4)"dH3 hY +#define YM wG w51,q2 w51,q2 w51 qN"cmpne_add_imm",h61 a01}, +#define SN {1,qJ gW1 q2 gW1 q2 gW1 oK1"cmpne_add_reduce",d73"!="dQ3 +#define TN wG hI1,q2 hI1,q2 hI1 qN"cmpne_addadd_imm",o7 o82 +#define UN wH a11,q2 a11,q2 a11 qN"cmpne_minma"oZ2 dI3 hF3 +#define WN wH hJ1,q2 hJ1,q2 hJ1 qN"cmpne_minmax"d83"!= "h93 +#define YN wG gX1,q2 gX1,q2 gX1 qN"cmpne_mul_imm_neg",dT1 a01}, +#define SO wG gY1,q2 gY1,q2 gY1 qN"cmpne_mul_imm_pos",wV1 a01}, +#define TO wG mZ,q2 mZ,q2 mZ qN"cmpne_mulmul_imm_neg",mM2 o82 +#define UO wG q01,q2 q01,q2 q01 qN"cmpne_mulmul_imm_pos",gP3 o82 +#define WO wG w61,q2 w61,q2 w61 qN"cmpzz_add_imm"dC" "h61 qM2 aC" "h61 qN2" "h61 hG2" "h61 qO2 h61 a01 dD h61 hE2 +#define YO {1,qJ gZ1 q2 gZ1 q2 gZ1 oK1"cmpzz_add_reduce"dC" "d73"< "h1 aC" "d73"<= "h1 aE" "d73"> "h1 oV" "d73">= "h1 aD d73"!= "h1 dD d73"="dQ3 +#define SP wG hK1,q2 hK1,q2 hK1 qN"cmpzz_addadd_imm"dC" "o7 hH2 aC" "o7 hI2" "o7 hJ2" "o7 wB1 o7 wC1 o7 w72 +#define TP wH a21,q2 a21,q2 a21 qN"cmpzz_minmax"dC hD3"< "hH3 aC hD3"<= "hH3 aE hD3"> "hH3 oV hD3">= "hH3 g1"0010 *"hD3"!= "hH3" + 0x0020 *"hD3"= "hF3 +#define UP wH hM1,q2 hM1,q2 hM1 qN"cmpzz_minmax_rev"dC hD3"< "hI3 aC hD3"<= "hI3 aE hD3"> "hI3 oV hD3">= "hI3 g1"0010 *"hD3"!= "hI3" + 0x0020 *"hD3"= "h93 +#define WP wG h01,q2 h01,q2 h01 qN"cmpzz_mul_imm_neg"dC gP2 qM2 aC gP2 qN2 gP2 hG2 gP2 qO2 dT1 a01 dD dT1 hE2 +#define YP wG h11,q2 h11,q2 h11 qN"cmpzz_mul_imm_pos"dC oN1 qM2 aC oN1 qN2 oN1 hG2 oN1 qO2 wV1 a01 dD wV1 hE2 +#define SQ wG q11,q2 q11,q2 q11 qN"cmpzz_mulmul_imm_neg"dC h71 hH2 aC h71 hI2 h71 hJ2 h71 wB1 mM2 wC1 mM2 w72 +#define TQ wG q21,q2 q21,q2 q21 qN"cmpzz_mulmul_imm_pos"dC" "gP3 hH2 aC" "gP3 hI2" "gP3 hJ2" "gP3 wB1 gP3 wC1 gP3 w72 +#define UQ wH hK2,q2 hK2,q2 hK2 qN"ge_and_eq",mW2 oS1 +#define WQ wH hL2,q2 hL2,q2 hL2 qN"ge_and_le",mW2 hN1}, +#define YQ wH hM2,q2 hM2,q2 hM2 qN"ge_and_ne",mW2 dJ1 +#define SR wH w82,q2 w82,q2 w82 qN"ge_or_eq",mX2 oS1 +#define TR wH w92,q2 w92,q2 w92 qN"ge_or_le",mX2 hN1}, +#define UR wH wA2,q2 wA2,q2 wA2 qN"ge_or_ne",mX2 dJ1 +#define WR wH hN2,q2 hN2,q2 hN2 qN"gt_and_eq"gQ2 oS1 +#define YR wH hO2,q2 hO2,q2 hO2 qN"gt_and_ge"gQ2 m7}, +#define SS wH hP2,q2 hP2,q2 hP2 qN"gt_and_le"gQ2 hN1}, +#define TS wH hQ2,q2 hQ2,q2 hQ2 qN"gt_and_ne"gQ2 dJ1 +#define US wH wB2,q2 wB2,q2 wB2 qN"gt_or_eq"gA3 oS1 +#define WS wH wC2,q2 wC2,q2 wC2 qN"gt_or_ge"gA3 m7}, +#define YS wH wD2,q2 wD2,q2 wD2 qN"gt_or_le"gA3 hN1}, +#define ST wH wE2,q2 wE2,q2 wE2 qN"gt_or_ne"gA3 dJ1 +#define TT gL3 If10,q2 If10,q2 If10,oK1"if10",o6",1,0) + 10*"o6",0,1) + 100*"o6">0,1,0) + 1000*"o6">0,0,1"o02 +#define UT {mF dV1,q2 dV1,q2 dV1 qN1"tract_abs",o6", abs(x+2), abs(y+5))"}, +#define WT {mF dW1,q2 dW1,q2 dW1 qN1"tract_add"hB2"+2, y+"gX2 +#define YT {mF d71,q2 d71,q2 d71 qN1"tract_add1"hB2"+2, y"o02 +#define SU {mF d81,q2 d81,q2 d81 qN1"tract_add2",o6", y, y+2"o02 +#define TU {a31 qJ1 q2 qJ1 q2 qJ1"x"dU"tract_and1_l"hB2"&z, y<1"o02 +#define UU {a31 q71 q2 q71 q2 q71"x"dU"tract_and1_nl"hB2"&z, z"o02 +#define WU {a31 qK1 q2 qK1 q2 qK1"x"dU"tract_and2_l",o6", y<1, y&z"o02 +#define YU {a31 q81 q2 q81 q2 q81"x"dU"tract_and2_nl",o6", z, y&z"o02 +#define SV {mF If_extract_div,0,q2 If_extract_div qN1"tract_div"hB2"/x, y/2"o02 +#define TV {mF dX1,q2 dX1,q2 dX1 qN1"tract_min",o6", min(y,2), min(y,5))"}, +#define UV {mF dY1,q2 dY1,q2 dY1 qN1"tract_mul"hB2"*2, y*"gX2 +#define WV {mF d91,q2 d91,q2 d91 qN1"tract_mul1"hB2"*2, y"o02 +#define YV {mF dA1,q2 dA1,q2 dA1 qN1"tract_mul2",o6", y, y*2"o02 +#define SW {a31 h21 q2 h21 q2 h21"x"dU"tract_or1_l",o6", y|z, y<1"o02 +#define TW {a31 qL1 q2 qL1 q2 qL1"x"dU"tract_or1_nl",o6", y|z, z"o02 +#define UW {a31 h31 q2 h31 q2 h31"x"dU"tract_or2_l",o6", y<1, y|z"o02 +#define WW {a31 qO1 q2 qO1 q2 qO1"x"dU"tract_or2_nl",o6", z, y|z"o02 +#define YW {1,3,5,gQ w71 q2 w71 q2 w71 oK1"if_join_add2","x + 10 +"hL1"<4, 3,4"o02 +#define SX {1,3,5,gQ w81 q2 w81 q2 w81 oK1"if_join_mul2","x * 10 *"hL1"<4, 3,4"o02 +#define TX dP3 Ifabs,q2 Ifabs,q2 Ifabs,oK1"ifabs","1"dD1"< 0,-x,"h53" 10"dD1"<=0,-x,"h53" 100"dD1"> 0,-x,"h53" 1000"dD1">=0,-x,"h53"10000"dD1"< 0,x"dE3" 100000"dD1"<=0,x"dE3" 1000000"dD1"> 0,x"dE3"10000000"dD1">=0,x,-"mR2 +#define UX {4 d6 gQ wF2 q2 wF2 q2 wF2"b,d,"w12"ifmerge"dJ2"y,x,b"mZ2"y,x,d)) + if(b,if(d,y,x),if(d,b,"mR2 +#define WX {4 d6 gQ hR2 q2 hR2 q2 hR2"a,b,"w12"ifmerge2"dJ2"y,a,b"mZ2"b,a,b))"}, +#define YX {4 d6 gQ qP2 q2 qP2 q2 qP2"a,b,"w12"ifmerge2b"dJ2"y,a,b"mZ2"b,b,a))"}, +#define SY wH Ifnop,q2 Ifnop,q2 Ifnop qN"ifnop",o6",y,y"o02 +#define TY {mX1 L_abs,q2 L_abs,q2 L_abs qN"l_abs","(x+2) & "d63 mQ1 +#define UY {mX1 wG2,q2 wG2,q2 wG2 qN"l_mulabs","(x*abs(y))"mQ1 +#define WY {mX1 wH2,q2 wH2,q2 wH2 qN"l_mulneg","(x*y*-5)"mQ1 +#define YY {mX1 wI2,q2 wI2,q2 wI2 qN"l_notnot","(x+2) & !!x"mQ1 +#define SZ wH hS2,q2 hS2,q2 hS2 qN"le_and_eq",hN1" & "oS1 +#define TZ wH hT2,q2 hT2,q2 hT2 qN"le_and_ne",hN1" & "dJ1 +#define UZ wH wJ2,q2 wJ2,q2 wJ2 qN"le_or_eq",hN1" | "oS1 +#define WZ wH wK2,q2 wK2,q2 wK2 qN"le_or_ne",hN1" | "dJ1 +#define YZ wH hU2,q2 hU2,q2 hU2 qN"lt_and_eq"hV2 oS1 +#define Sa wH hW2,q2 hW2,q2 hW2 qN"lt_and_ge"hV2 m7}, +#define Ta wH hX2,q2 hX2,q2 hX2 qN"lt_and_gt"hV2"(x > y"o02 +#define Ua wH hY2,q2 hY2,q2 hY2 qN"lt_and_le"hV2 hN1}, +#define Wa wH hZ2,q2 hZ2,q2 hZ2 qN"lt_and_ne"hV2 dJ1 +#define Ya wH wL2,q2 wL2,q2 wL2 qN"lt_or_eq"gK3 oS1 +#define Sb wH wM2,q2 wM2,q2 wM2 qN"lt_or_ge"gK3 m7}, +#define Tb wH wN2,q2 wN2,q2 wN2 qN"lt_or_gt"mD" | (x > y"o02 +#define Ub wH wO2,q2 wO2,q2 wO2 qN"lt_or_le"gK3 hN1}, +#define Wb wH wP2,q2 wP2,q2 wP2 qN"lt_or_ne"gK3 dJ1 +#define Yb {a31 a41 q2 a41 q2 a41 mG"mergemulabs","abs(x)*abs(y)*z"}, +#define Sc {3,0,4,gQ Mixedminmax,oT1 oT1 mG"mixedminmax","max(z,min(x,max(max(z,y),x)))"h03"10*min(z,max(x,min(y,x)))"h03"100*min(max(x,y),min(y,z)) + 1000*max(min(x,y),max(y,z))"}, +#define Tc wH Nand2,q2 Nand2,q2 Nand2 qN"nand2",hU3}, +#define Uc w22 qQ2 q2 qQ2 q2 qQ2 mG"nand2plus",hU3" | z"}, +#define Wc w22 Nand3,q2 Nand3,q2 Nand3,mG"nand3",hU3" | !z"}, +#define Yc wH Nor2,q2 Nor2,q2 Nor2 qN"nor2",hV3}, +#define Sd w22 d02 q2 d02 q2 d02 mG"nor2plus",hV3" & z"}, +#define Td w22 Nor3,q2 Nor3,q2 Nor3,mG"nor3",hV3" & !z"}, +#define Ud wH Not_eq,q2 Not_eq,q2 Not_eq qN"not_eq",o6" = "h23 +#define Wd wH Not_ge,q2 Not_ge,q2 Not_ge qN"not_ge",o6 dO3 h23 +#define Yd wH Not_gt,q2 Not_gt,q2 Not_gt qN"not_gt",o6" > "h23 +#define Se wH Not_le,q2 Not_le,q2 Not_le qN"not_le",o6 dN3 h23 +#define Te wH Not_lt,q2 Not_lt,q2 Not_lt qN"not_lt",o6 dH3 h23 +#define Ue wH Not_ne,q2 Not_ne,q2 Not_ne qN"not_ne",o6 dI3 h23 +#define We {mF Notnot,q2 Notnot,q2 Notnot qN"notnot","!!x + if(y, 1,0"o02 +#define Ye oE2 gQ mV2 gJ2 gJ2,"x"q6"/xaddnot","!(x+if(1,4,4))"}, +#define Sf oE2 gQ mH1 q2 mH1 q2 mH1"x"q6"/xaddnotnot","!!(x+if(1,4,4))"}, +#define Tf {1,-w91 t1,g3 t1,g3 t1,m42"1","x+max(0, min(-2,0))"}, +#define Uf {1,-w91 t2,g3 t2,g3 t2,m42"2","min(x,min(1,"mR2 +#define Wf {1,-mI1 t3,g3 t3,g3 t3,m42"3","sub( (!x & !!x) , (!x | !!x) "o02 +#define Yf {2,-mI1 t4,g3 t4,g3 t4,"x,y",oF"4","sub(!(x-y), !!(x-y))"}, +#define Sg oE2 gR3 t6,g3 t6,g3 t6,m42"6","sub(!(x+4), !!(x+3))"}, +#define Tg {1,-w91 t36,g3 t36,g3 t36,m42"36","-if(x<0, x, -x) + -if(x<5, 2, 3"o02 +#define Ug {2,-mI1 t60,g3 t60,g3 t60,"x,y",oF"60","sqr(x) | sub(x,y) | value()"}, +#define Wg {2,-20,20,dB1 t16,qZ t16,qZ t16,oF2"16",o6"<0, if(y<0, x+y, x-y), if(y>0, x*y, x+2*y))"}, +#define Yg {2,-20,20,dB1 t17,qZ t17,qZ t17,oF2"17","sqr(x)+sub(x,y)+psqr(y)+psub(y+1,x-2)-1"}, +#define Sh {2,-100,100,dB1 t19,qZ t19,qZ t19,oF2"19","(xy)+1000"oH2">=y)+10000"oH2"=y)+100000"oH2"!=y)+ (x&y)*2+(x|y)*20+(!x)*200+(!!x)*2000+4*!((xy)|(x>3))"}, +#define Th {2,-100,100,dB1 t20,qZ t20,qZ t20,oF2"20","(!(x"dI3"y) & !x) + !(!(!(!y)))"}, +#define Uh {1,oG2 t21,qZ t21,qZ t21,"x"dY"21","sqr(x)+value()-pvalue ( "o02 +#define Wh {1,g83 dB1 t24,qZ t24,qZ t24,"x"dY"24","(min(x, min(1,"mG1" min(x, 1))/2 + min(x, 1)*3 + max(0, min(-2,0))"}, +#define Yh {2,-5,5,dB1 t29,qZ t29,qZ t29,oF2"29","x-y*1"}, +#define Si {4,-5,5,dB1 t34,qZ t34,qZ t34,"t,う,お,早"dY"34","お+早*う-t"}, +#define Ti {3,oG2 t35,qZ t35,qZ t35,"A_very_long_variable_name_1,A_very_long_variable_name_2,Yet_a_third_very_long_variable_name"dY"35","A_very_long_variable_name_1-A_very_long_variable_name_2+ Yet_a_third_very_long_variable_name*A_very_long_variable_name_1"}, +#define Ui {2,oG2 t50,qZ t50,qZ t50,oF2"50","(x=y)"d93"64"oH2"<=y | x>=y)"d93"128"oH2"!=y & x=y)"d93"256"oH2"!=y & "dG3"512"oH2 q03" x=y"o02 +#define Wi {2,-11,11,dB1 t58,qZ t58,qZ t58,oF2"58","(-x"dH3"3)"oM2"-1 > 5)"oM2"-3"dH3"10)"oM2"-3"dH3"y*7) + (x*4"dH3"y*7)"oM2"6"dH3"y*-3"qI3"-x"dH3"11"qI3"5"dH3"-y"o02 +#define Yi {3,-8,7,dB1 I1,0,qZ I1,w32"i1","1+2+3-4*5*6/3+10/2-9%2 + (x+y - 11*x + z/10 + x/(z+31))"}, +#define Sj {3,-7,7,dB1 I2,0,qZ I2,w32"i2","if(abs(x*y)"dH3"20 | x+y > 30 & z > 5, min(x,2*y), max(y,z*2))"}, +#define Tj {3,1,7,dB1 I3,0,qZ I3,w32"i3","(x+y) + 2"oH2"-z) + 3*(x*y) + 4*(y/z) + 5"oH2"%z)"h03"6"oH2"2"q13" 9*(y>=3"q13" 10*(x+y!=z) + 11*(100+x) + 12*(101-y) + 13*(102"q13" 14*(103/x)"}, +#define Uj {2,dM1 Add_d,qG Add_d a61"add_d","x+y"}, +#define Wj {3,dM1 Addsub_d,qG Addsub_d wQ2 g0"addsub_d","x+y+x+x-z+x"}, +#define Yj {2,h6 And_d,qG And_d a61"and_d","x&y"}, +#define Sk {2,h6 Cmpeq_d,qG Cmpeq_d a61"cmpeq_d","x=y"}, +#define Tk {2,h6 Cmpge_d,qG Cmpge_d a61"cmpge_d","x>=y"}, +#define Uk {2,h6 Cmpgt_d,qG Cmpgt_d a61"cmpgt_d","x>y"}, +#define Wk {2,h6 Cmple_d,qG Cmple_d a61"cmple_d","x<=y"}, +#define Yk {2,h6 Cmplt_d,qG Cmplt_d a61"cmplt_d","x= "wK +#define S01 wG Cmpge_powpow_imm_base,q2 Cmpge_powpow_imm_base,0 qN"cmpge_"hC dO3 a3 +#define T01 hQ Cmpgt_pow_imm_negneg,q2 Cmpgt_pow_imm_negneg,o81 hS" > "gZ3 +#define U01 hQ Cmpgt_pow_imm_negpos,q2 Cmpgt_pow_imm_negpos,o81 hT" > "h13 +#define W01 {1,qJ Cmpgt_pow_imm_posneg,q2 Cmpgt_pow_imm_posneg,o81 d0" > "d53 +#define Y01 {1,qJ Cmpgt_pow_imm_pospos,q2 Cmpgt_pow_imm_pospos,o81 d3" > "hG3 +#define S11 {1,qJ Cmpgt_pow_imm_pospos_base,q2 Cmpgt_pow_imm_pospos_base,o81 h33"> "wK +#define T11 wG Cmpgt_powpow_imm_base,q2 Cmpgt_powpow_imm_base,0 qN"cmpgt_"hC" > "a3 +#define U11 hQ Cmple_pow_imm_negneg,q2 Cmple_pow_imm_negneg,m52 hS dN3 gZ3 +#define W11 hQ Cmple_pow_imm_negpos,q2 Cmple_pow_imm_negpos,m52 hT dN3 h13 +#define Y11 {1,qJ Cmple_pow_imm_posneg,q2 Cmple_pow_imm_posneg,m52 d0 dN3 d53 +#define S21 {1,qJ Cmple_pow_imm_pospos,q2 Cmple_pow_imm_pospos,m52 d3 dN3 hG3 +#define T21 {1,qJ Cmple_pow_imm_pospos_base,q2 Cmple_pow_imm_pospos_base,m52 h33"<= "wK +#define U21 wG Cmple_powpow_imm_base,q2 Cmple_powpow_imm_base,0 qN aA1 hC dN3 a3 +#define W21 hQ Cmplt_pow_imm_negneg,q2 Cmplt_pow_imm_negneg,o91 hS dH3 gZ3 +#define Y21 hQ Cmplt_pow_imm_negpos,q2 Cmplt_pow_imm_negpos,o91 hT dH3 h13 +#define S31 {1,qJ Cmplt_pow_imm_posneg,q2 Cmplt_pow_imm_posneg,o91 d0 dH3 d53 +#define T31 {1,qJ Cmplt_pow_imm_pospos,q2 Cmplt_pow_imm_pospos,o91 d3 dH3 hG3 +#define U31 {1,qJ Cmplt_pow_imm_pospos_base,q2 Cmplt_pow_imm_pospos_base,o91 h33"< "wK +#define W31 wG Cmplt_powpow_imm_base,q2 Cmplt_powpow_imm_base,0 qN"cmplt_"hC dH3 a3 +#define Y31 hQ Cmpne_pow_imm_negneg,q2 Cmpne_pow_imm_negneg,oA1 hS dI3 gZ3 +#define S41 hQ Cmpne_pow_imm_negpos,q2 Cmpne_pow_imm_negpos,oA1 hT dI3 h13 +#define T41 {1,qJ Cmpne_pow_imm_posneg,q2 Cmpne_pow_imm_posneg,oA1 d0 dI3 d53 +#define U41 {1,qJ Cmpne_pow_imm_pospos,q2 Cmpne_pow_imm_pospos,oA1 d3 dI3 hG3 +#define W41 {1,qJ Cmpne_pow_imm_pospos_base,q2 Cmpne_pow_imm_pospos_base,oA1 h33"!= "wK +#define Y41 wG Cmpne_powpow_imm_base,q2 Cmpne_powpow_imm_base,0 qN"cmpne_"hC dI3 a3 +#define S51 hQ Cmpzz_pow_imm_negneg,q2 Cmpzz_pow_imm_negneg,hO1"_imm_negneg"dC oU1 dH3 h43 aC oU1 dN3 h43 aE oU1" > "h43 oV oU1 dO3 h43 aD gO",-3)"dI3 h43 dD gO",-3) = "gZ3 +#define T51 hQ Cmpzz_pow_imm_negpos,q2 Cmpzz_pow_imm_negpos,hO1"_imm_negpos"dC oV1 dH3 hC3 aC oV1 dN3 hC3 aE oV1" > "hC3 oV oV1 dO3 hC3 aD gO",-2)"dI3 hC3 dD gO",-2) = "h13 +#define U51 {1,qJ Cmpzz_pow_imm_posneg,q2 Cmpzz_pow_imm_posneg,hO1"_imm_posneg"dC dA3"< "hW3 aC dA3"<= "hW3 aE dA3"> "hW3 oV dA3">= "hW3 aD gO",3)"dI3 hW3 dD gO",3) = "d53 +#define W51 {1,qJ Cmpzz_pow_imm_pospos,q2 Cmpzz_pow_imm_pospos,hO1"_imm_pospos"dC q02 dH3"25)"aC q02" <= 25)"aE q02" > 25)"oV q02" >= 25)"aD gO",2)"dI3"25)"dD gO",2) = "hG3 +#define Y51 {1,qJ Cmpzz_pow_imm_pospos_base,q2 Cmpzz_pow_imm_pospos_base,hO1"_imm_pospos_base"dC" "h63"<"dR3 aC" "h63"<="dR3 aE" "h63">"dR3 oV" "h63">="dR3 aD h63"!="dR3 dD h63"= "wK +#define S61 wG Cmpzz_powpow_imm_base,q2 Cmpzz_powpow_imm_base,0 qN"cmpzz_powpow_imm_base"dC" "qQ1 dH3 g71 aC" "qQ1 dN3 g71 aE" "qQ1" > "g71 oV" "qQ1 dO3 g71 aD qQ1 dI3 g71 dD qQ1" = "a3 +#define T61 {2,q33 Expexp_a,q2 Expexp_a,0 qN q43"p_a","exp(x*2 + y*3"o02 +#define U61 {3,q33 Expexp_b,q2 Expexp_b mC q43"p_b",aR" * exp(y+z"o02 +#define W61 {3,q33 Expexp_c,q2 Expexp_c mC q43"p_c","exp(x + y*z"o02 +#define Y61 {gX3 hF If_extract_sin,q2 If_extract_sin,0 qN1"tract_sin",o6", sin(y), "hA3 +#define S71 o12 If_join_add,q2 If_join_add,0 qN"if_join_add"o92"+"aB1 +#define T71 o12 If_join_and,q2 If_join_and,0 qN"if_join_and"o92"&"aB1 +#define U71 o12 If_join_max,q2 If_join_max,0 qN"if_join_max","max("o6 dA","hX3")))"}, +#define W71 o12 If_join_min,q2 If_join_min,0 qN"if_join_min","min("o6 dA","hX3")))"}, +#define Y71 o12 If_join_mul,q2 If_join_mul,0 qN"if_join_mul"o92"*"aB1 +#define S81 o12 If_join_or,q2 If_join_or,0 qN"if_join_or",o6 dA" |"hX3"))"}, +#define T81 dS2 Ifabsnot,q2 Ifabsnot mC"ifabsnot","if(!(sin(x)+1.2), y,z"o02 +#define U81 dS2 Ifconst,q2 Ifconst mC"ifconst","if(1, x,y) + if(0,z,y"o02 +#define W81 {4 w42 Ififconst,q2 Ififconst,0,"w,"mG"ififconst","if("o6",1,y),z,w) + if(if(w,z,0),"w02 +#define Y81 w22 Ifnot,q2 Ifnot mC"ifnot","if(!x, y,z"o02 +#define S91 dS3 Muland2,q2 Muland2,0 qN"muland2",hY3}, +#define T91 dS2 Muland2plus,q2 Muland2plus mC"muland2plus",hY3" * z"}, +#define U91 dS2 Muland3,q2 Muland3 mC"muland3",hY3" * !!z"}, +#define W91 dS3 Mulandlt,q2 Mulandlt,0 qN"mulandlt",wS2" (y<0"o02 +#define Y91 {2,wT2 1,hA2,q2 Mulimmlog,q2 Mulimmlog,0 qN"mulimmlog","log(if(1,5,0)*x*y"o02 +#define SA1 dS3 Mulnor2,q2 Mulnor2,0 qN"mulnor2",hZ3}, +#define TA1 dS2 Mulnor2plus,q2 Mulnor2plus mC"mulnor2plus",hZ3" * z"}, +#define UA1 dS2 Mulnor3,q2 Mulnor3 mC"mulnor3",hZ3" * !z"}, +#define WA1 dP3 Negceil,q2 Negceil,gD"negceil","ceil(x*(abs(x)-abs(x)-1))"}, +#define YA1 dP3 Negcos,q2 Negcos,gD"negcos","cos"wU2 +#define SB1 dP3 Negcosh,q2 Negcosh,gD"negcosh","cosh"wU2 +#define TB1 dP3 Negfloor,q2 Negfloor,gD"negfloor","floor(x*(abs(x)-abs(x)-1))"}, +#define UB1 dP3 Negsin,q2 Negsin,gD"negsin","sin(x*"qD1 +#define WB1 dP3 Negsinh,q2 Negsinh,gD"neg"oA2,oA2 wU2 +#define YB1 hQ3 Posnot,q2 Posnot,gD"posnot","!(sin(x) + 1.2"o02 +#define SC1 hQ3 Posnotnot,q2 Posnotnot,gD"posnotnot","!!(sin(x) + 1.2"o02 +#define TC1 {1,wT2 1,hA2,q2 Powimmaddimmlog,q2 Powimmaddimmlog mJ1"immaddimmlog","pow(5, log(x)+1"o02 +#define UC1 {1,wT2 2,hA2,q2 Powimmlog,q2 Powimmlog mJ1"immlog","pow(3, log(x)) + pow(5, log(x)*sin(x))"}, +#define WC1 {2 wR1 Powmulimm_fnen,q2 Powmulimm_fnen dW dE1"mulimm_fnen",o01"^(-8"o02 +#define YC1 {q53 Powmulimm_fnep,q2 Powmulimm_fnep dW dE1"mulimm_fnep",o01"^(4"o02 +#define SD1 {1,-3,-1,hF Powmulimm_fnfn,q2 Powmulimm_fnfn mJ1"mulimm_fnfn","((-5.1)*x)^(-7.1"o02 +#define TD1 {q53 Powmulimm_fnfp,q2 Powmulimm_fnfp dW dE1"mulimm_fnfp",o01"^7.1"}, +#define UD1 {q53 Powmulimm_fpfp,q2 Powmulimm_fpfp dW dE1"mulimm_fpfp","(5.1*x*y)^7.1"}, +#define WD1 hQ3 Sub1cos2,q2 Sub1cos2,gD"sub1cos2","1-cos(x)^2"}, +#define YD1 hQ3 Sub1sin2,q2 Sub1sin2,gD"sub1sin2","1-"q42"^2"}, +#define SE1 {1,N(-9.42477796076937971538793014983850865259),N(9.42477796076937971538793014983850865259),N(0.785398163397448309615660845819875721049292349)qM,q2 Trig_modulo,q2 Trig_modulo,gD"trig_modulo","cos(x+pi"qE1"2/3"qE1"5/2"qE1"6/2"qE1 dK3" "o11")"wI1"2/3)"wI1"5/2)"wI1"6/2)"wI1 dK3" cos(x-pi) +"dF1"2/3) +"dF1"5/2) +"dF1"6/2) +"dF1 dK3 o21")"q63"2/3)"q63"5/2)"q63"6/2)"q63"7/2"o02 +#define TE1 {1 aG hA2,q2 Trunc_from_if,q2 Trunc_from_if,gD"trunc_from_if",o6">0, "hL3 d32">=0, "hL3 d32"<0, "hJ3 d32"<=0, "hJ3 qS2">0, "hJ3 qS2">=0, "hJ3 qS2"<0, "hL3" 10*"o6"<=0, floor(x),ceil"g51 +#define UE1 {1,N(-0.7),N(0.7),N(0.28)qM,g3 t5,g3 t5 dW,oF"5","sub(sin(x)+csc(x),cos"g51 +#define WE1 {2 aG N(.25)qM,g3 t42,g3 t42 a51,oF"42","sqrt(x*x) + 1.5*((y*y)^.25) + hypot(x"mF1 +#define YE1 {1,-100,-1,N(.5)qM,g3 t51,g3 t51 dW,oF"51","log"g72 +#define SF1 {1,N(.05),1,N(.01)qM,g3 t57,g3 t57 dW,oF"57","cosh(a"oA2 g51 +#define TF1 {2,-2,2,N(1.2)qM,g3 t59,g3 t59 a51,oF"59","cosh(x^2) + tanh(y^2"o02 +#define UF1 {1,g83 N(.25)mK1 t1,qZ t1 dV"1","x*4/2 + (1+(2+3)) + x*x+x+1+2+3*4+5*6*\n7-8*9"}, +#define WF1 {1,g83 o52 t2,qZ t2 dV"2","2 * x+ sin ( x ) / .5 + 2-sin(x)*sin(x)"}, +#define YF1 {3,-7,7,a02 t3,qZ t3 qT2"3","(x=y & y=x)+ 1+2-3.1*4e2/.5 + x*x+y*y+z*z + (x&x) + (y|y"o02 +#define SG1 {2,-10,10,a02 t4,qZ t4 dX"4","( ((( ( x-y) -( ((y) *2) -3)) )* 4))+sin(x)*cos(y)-cos(x)*sin(y"o02 +#define TG1 {2,gQ3 8,d42 t5,qZ t5,0,"__A5_x08,o__5_0AB_"dY"5","__A5_x08^o__5_0AB_"}, +#define UG1 {gC3 N(.01)mK1 t7,qZ t7 dV"7","cos(x)*sin(1-x)*(1-cos(x/2)*sin(x*5))"}, +#define WG1 {2,-8,8,a12 t8,qZ t8 dX"8",aH2"(x,y)+max(x"mF1 +#define YG1 {3,1,15,N(.7)mK1 t9,qZ t9 qT2"9","1.5+x*y-2+4/8+z+z+z+z+x/(y*z"o02 +#define SH1 {3,1,4,N(.3)mK1 t10,qZ t10 qT2"10","1+sin(cos(max(1+2+3+4+5, x+y+z)))+2"}, +#define TH1 {3,1,19,N(.8)mK1 t11,qZ t11 qT2"11","-(-(-(-(-x))-x))+y*1+log(1.1^z"o02 +#define UH1 {1,1,2000,a02 t12,qZ t12 dV"12","1/log(10^((3-2)/log(x)))"}, +#define WH1 {2,-30,30,a02 t13,qZ t13 dX"13","x^3 * x^4 + y^3 * y^5"}, +#define YH1 {1,-50,50,o52 t14,qZ t14 dV"14","x*pi + sin(2*pi) + CONST"}, +#define SI1 {2,N(1.1),6,N(.07)mK1 t15,qZ t15 dX"15","x^y/log(y) + log(x)/log(y) + log(x^y"o02 +#define TI1 {2,1,17,a12 t18,qZ t18 dX"18","- ( - ( - ( - 5 ) ) ) * -x^ -y^-2"}, +#define UI1 {gX3 o52 t22,qZ t22 dX"22","3.5doubled + 10*x tripled - sin(y)doubled"h03"100"oH2" doubled-y tripled)doubled + 5/2doubled + 1.1^x doubled + 1.1doubled^x doubled"}, +#define WI1 {1,g83 o52 t23,qZ t23 dV"23","(x/(2*acos(0)))*180"}, +#define YI1 {3,1,3,a12 t25,qZ t25,0,"a,b,c"dY"25","a^b^c + a^-2 * (-b^2"qI3"-b^-c"o02 +#define SJ1 {1,-100,100,gQ3 true,qZ t26_deg,qZ t26_deg dV"26_deg",qO3" cos(x*1.5) + asin(x/110) + acos(x/120"o02 +#define TJ1 {2,gQ3 N(.9),N(.025)mK1 t27,qZ t27 dX"27","abs(x)+acos(x)+asin(x)+atan(x)+"aH2"(x,y)+ceil(x)+cos(x)+cosh(x)+cot(x)+csc"dA2" "d12 mF1 +#define UJ1 {2,gQ3 N(.9),N(.025)mK1 t28,qZ t28 dX"28","exp(x)+floor(x)+int(x)+log(x)+log10(x)+max(x,y)+min(x,y)+sec(x)+sin(x)+sinh(x)+sqrt(x)+tan(x)+tanh(x)+ceil(y)+trunc(y"o02 +#define WJ1 {2,3,10,dB1 t30,qZ t30 dX"30","x - y*1 + (x%y) + x / (y^1.1) + 2^3 + 5%3 + x^(y^0) + x^0.5"}, +#define YJ1 {3,gQ3 4,N(.35)mK1 t31,qZ t31 qT2"31","x - (y*(y*(y*-1))*1) + log(x*exp"dB2")^y) - log(x^y)"h03"exp"dB2")^log(x+6) + 10^("wX2"6"dC2"y+6)*log(z+6"dC2"10)) - exp"dB2")^("wX2"6)*y) - 5^("wX2"7"dC2"5)) + "qU2"^3 * "qU2"^2 / "qU2"^4"}, +#define SK1 {3,1,2,N(.05)mK1 t32,qZ t32 qT2"32","x"mO"+y/y-min(3,4)-x-max(4,3)+max(3,4)-min(4,3)+0+(z*1)"mO"+(x-2+2)+(x*0.5*2)+y*0 +min(min(min(4.0,x),1.0),min(x,min(min(y,4.0),z)))"mO"+max(max(max(4.0,x),1.0)"mM1"x(max(y,4.0),z)))"mO"+(abs(1)+acos"dB2")+asin(1.0)+atan"dB2")+ceil(1.1)+cos(0.0) +cosh(0.0)+floor(1.1)+log"dB2")+sin(0.0)+sinh(0.0)+tan"dB2") +tanh"dB2")+"aH2"(1.0,1.0))"mO"+(x-(y-z))"mO"+(x+y)"oM2"y"qL3"max(x"mM1"x(x,max(x,x))))*-1.0 +(z-z"qL3"1/sin(x/5)"q73"cos(y/5)"q73"tan(z/5"qL3"log10(cot(z/5) + csc(y/5) + sec(x/5))"mO"+log(30+x)*log(40+y"dC2"50+z)"mO"+sin(x/57.295779513082320877"qL3"asin(x/10)*57.295779513082320877 +floor(-x)"q73"ceil(x)"mO"+sqrt(5 * 0.2) +(-"wY2 wY2"x+-"oS2 +#define TK1 {2,-2,2,o52 t33,qZ t33 dX"33","sin(sqrt(10-x*x+y*y))+cos(sqrt(15-x*x-y*y))+sin(x*x+y*y"o02 +#define UK1 {gC3 o52 t37,qZ t37 dV"37","5 + 7.5*8 / 3 - 2^4*2 + 7%2+4 + x"}, +#define WK1 {3,N(-.9),N(.9),o52 t38,qZ t38 qT2"38","a"oA2 dA2" 1.5*"q23"(y+3) + 2.5*atanh(z"o02 +#define YK1 {3,N(-1.3),N(1.3),d42 t39,qZ t39 qT2"39","sin(x+cos(y*1.5))-cos(x+sin(y*1.5))+z*z*z*sin(z*z*z-x*x-y*y)- cos(y*1.5)*sin(x+cos(y*1.5))+x*y*z+x*y*2.5+x*y*z*cos(x)+x*y*cos(x)+x*z*cos(x)+ y*z*2.5+(x*y*z*cos(x)-x*y*z-y*cos(x)-x*z*y+x*y+x*z-cos(x)*x)"}, +#define SL1 {3,N(-1.3),N(1.3),N(.075)mK1 t40,qZ t40 qT2"40","(x+x+x+x+x+x+x+x+x+x+x+y"aA")* (x+x+x+x+x+x+x+x+x+x+x+y"aA")+ 2*(x+x+x+x+x+x+x+x+x+x+x+y"aA")- x*y*(x+x+x+x+x+x+x+x+x+x+x+y"aA")+ x*(x+x+x+x+x+x+x+x+x+x+x+y"aA o02 +#define TL1 {3,-2,2,d42 t41,qZ t41 qT2"41","x*3+x*y+x*z+x*sin(y*z) - "wZ2"4"h03 qG1"))*x"h03 wZ2"y + "wZ2"z"}, +#define UL1 {1,-100,100,N(.03)mK1 t43,qZ t43 dV"43","log(x*x)+abs("m62"abs(x)+1))"}, +#define WL1 {1,0,100,N(.125)mK1 t44,qZ t44 dV"44","(x^2"mL1"8)"h03"1.1"oH2"^3"mL1"7)"h03"1.2"oH2"^4"mL1"6)"h03"1.3"oH2"^5"mL1"5)"h03"1.4"oH2"^6"mL1"6)"h03"1.5"oH2"^7"mL1"4)"h03"1.6"oH2"^8"mL1"3)"h03"1.7"oH2"^9"mL1"2) + 1.8*(sqrt(abs(-sqrt(x))^3))"}, +#define YL1 {gC3 N(.025)mK1 t45,qZ t45 dV"45","(x^2"mL1"7) + 1.1"oH2"^4"mL1"5) + 1.2"oH2"^6"mL1"3"o02 +#define SM1 {2,N(-.9),N(.9),d42 t46,qZ t46 dX"46","abs(floor(acos(x)+4)) + 1.1*abs(floor(acos(y)+1.5)) + ("g81 dH3"(acos(y)-10)) + 1.2*max(-4, acos(x)) + 1.3*min(9, acos(x)-9"o02 +#define TM1 {2 aG o52 t47,qZ t47 dX"47","1.25*(exp(x)+"m62"-"mG1" 1.5*("m62"y)-exp(-y)) + 1.75*(("m62"-x)+exp(x))/2) + 2.0*(("m62"-x)-exp(x))/2) + 2.25*(cosh(y)+sinh(y))"}, +#define UM1 {1,2,N(1e9),N(1.2e7)mK1 t48,qZ t48 dV"48",oA2"((log(x)/5+1)*5) + 1.2*cosh((log(x)/log(2)+1)*log"w9" !(x | !(x/4))"}, +#define WM1 {1,-100,100,N(.05)mK1 t49,qZ t49 dV"49",aH2"(0, x) + (-4"oH2"-100))^3.3"}, +#define YM1 {gC3 a02 t52,qZ t52 dV"52","x + "dB2"+2.0+3.0+4.0-5.0-6.0-7.0-8.0)/3.0"h03"4.0*(1.0+sin(2.0)+cos(4.0*5.0+6.0)/2.0) + cos(0.5)*tan(0.6+0.2) - 1.1/log(2.1)*sqrt(3.3) + 2^3"}, +#define SN1 {2,0,10,N(0.5)mK1 t53,qZ t53 dX"53","(x&y) + 4*(int(x/10)|int(y/10)) + 8*((-!-!-x)+(!-!-!y)) + 16*(-------x + !!!!!!!y"o02 +#define TN1 {2,-10,100,a02 t54,qZ t54 dX"54","(xy"m72">=y)+ (x=y"m72"!=y)+(x&y"m72"|y)+ (!x)+(!!x)+ !((xy)|(x>3))"}, +#define UN1 {2,1,100,a02 t55,qZ t55 dX"55","(x^1.2"dH3"0"qI3"y^2.5"dH3"0) + 2*(x*x<0) + 3*(y^3<0) + 4"oH2"^4<0"o02 +#define WN1 {1,N(.25),100,N(.25)mK1 t56,qZ t56 dV"56","1.75e21%x"}, +#define YN1 {1 aG N(0.2)mK1 t59,qZ t59 dV"59","(cos(x)"dH3"sin(x))"h03"(cos(x)-sin(x))"h03"sub(sinh(x)-cosh(x), "oA2"(x)/cosh(x)) + sqrt(cos(x)^2+sin(x)^2"o02 +#define SO1 {1,N(1e-6),4000,mA Log qB Log gG1"log"mP1 +#define TO1 g9 Abscos q4 Abscos wU"abscos","cos(abs"g51 +#define UO1 g9 Abscosh q4 Abscosh wU"abscosh","cosh(abs"g51 +#define WO1 qK3 Abseq0 q4 Abseq0 q4 Abseq0 g5"abseq0"aM1"=0"qI3"0=abs"g51 +#define YO1 {1,N(0.001),N(0.9),N(0.01)qM q4 Absevenconstpow q4 Absevenconstpow wU"absevenconstpow",d63" ^ 1506"}, +#define SP1 {2,N(0.001),N(0.9),N(0.01)qM q4 Absmulevenconstpow q4 Absmulevenconstpow dW gR"absmulevenconstpow","(abs(x)*y) ^ 1506"}, +#define TP1 qK3 q83 q4 q83 q4 q83 g5"absneq0"aM1"=0"qI3"0=abs"g51 +#define UP1 qK3 Add q4 Add q4 Add g5"add","5+3+x"}, +#define WP1 qK3 Add0 q4 Add0 q4 Add0 g5"add0","x+0+x"}, +#define YP1 qK3 And q4 And q4 And g5"and","(5&3"d52"5&0)+(0&5)+(0&0"o02 +#define SQ1 m32 Cmp_acos q4 Cmp_acos wU"cmp_acos","1"oL"=acos("wX" 2"oL"acos("wX gS2 oL">=acos("wX" 32"oL"!=acos(0.75))"}, +#define TQ1 m32 Cmp_acos_outrange q4 Cmp_acos_outrange wU"cmp_acos_outrange","1"oL"=2"o8 g81"<2)"h03"4"oL"<=2) +"a22 oL">2) +"gS2 oL">=2) + 32"oL"!=2"o02 +#define UQ1 aD1 q93 q4 q93 q4 q93 g5"cmp_add","1"aQ qW2 aQ qX2 aQ aH1 aQ">4)"wF aQ d41 aQ oW1 +#define WQ1 m32 Cmp_asin q4 Cmp_asin wU"cmp_asin","1"oM"=a"dL3" 2"oM"a"q12 gS2 oM">=a"dL3"32"oM"!=asin(0.75))"}, +#define YQ1 m32 Cmp_asin_outrange q4 Cmp_asin_outrange wU"cmp_asin_outrange","1"oM"=2"o8"a"q42"<2)"h03"4"oM"<=2) +"a22 oM">2) +"gS2 oM">=2) + 32"oM"!=2"o02 +#define SR1 aF Cmp_atan q4 Cmp_atan wU"cmp_atan","1"qR1"=atan"o31 qR1"atan"wN1 qR1">=atan"m91 qR1"!=atan"dG1 +#define TR1 aF Cmp_exp q4 Cmp_exp wU gT2"p","1"m81"=e"m82" 2"m81"e"m82" 16"m81">=e"m82" 32"m81"!=exp"dG1 +#define UR1 aF Cmp_exp2 q4 Cmp_exp2 wU gT2"p2","1"o9"=exp2"w9" 2"o9"exp2"w9" 16"o9">=exp2"w9" 32"o9"!=exp2"dG1 +#define WR1 aF Cmp_exp2_neg q4 Cmp_exp2_neg wU gT2"p2_neg","1"o9"=-4) + 2"o9"<-4) + 4"o9"<=-4) + 8"o9">-4) + 16"o9">=-4)"dJ3 o9"!=-4"o02 +#define YR1 aF Cmp_exp_neg q4 Cmp_exp_neg wU gT2"p_neg","1"m81"=-4) + 2"m81"<-4) + 4"m81"<=-4"hZ1 aR">-4) + 16"m81">=-4)"dJ3 m81"!=-4"o02 +#define SS1 aI Cmp_log2_nn q4 Cmp_log2_nn wU"cmp_log2_nn","1"mA1 qA3 wN aS mA1 a4 mA1 a5 mA1 aT mA1 o51 +#define TS1 aI Cmp_log2_np q4 Cmp_log2_np wU"cmp_log2_np","1"mA1"=log2"o31 mA1"log2"wN1 mA1">=log2"m91 mA1"!=log2"dG1 +#define US1 aF Cmp_log2_pn q4 Cmp_log2_pn wU"cmp_log2_pn","1"hW qB3 hW aS hW a4 hW a5 hW aT hW o51 +#define WS1 aF Cmp_log2_pp q4 Cmp_log2_pp wU"cmp_log2_pp","1"hW"=log2"o31 hW"log2"wN1 hW">=log2"m91 hW"!=log2"dG1 +#define YS1 aI Cmp_log10_nn q4 Cmp_log10_nn wU"cmp_log10_nn","1"dJ qB3 dJ aS dJ a4 dJ a5 dJ aT dJ o51 +#define ST1 aI Cmp_log10_np q4 Cmp_log10_np wU"cmp_log10_np","1"dJ"=log10"o31 dJ"log10"wN1 dJ">=log10"m91 dJ"!=log10"dG1 +#define TT1 aF Cmp_log10_pn q4 Cmp_log10_pn wU"cmp_log10_pn","1"hR qB3 hR aS hR a4 hR a5 hR aT hR o51 +#define UT1 aF Cmp_log10_pp q4 Cmp_log10_pp wU"cmp_log10_pp","1"hR"=log10"a32 q22 hR"log10"a32" +"gS2 hR">=log10"a32" + 32"hR"!=log10"a32}, +#define WT1 aI Cmp_log_nn q4 Cmp_log_nn wU"cmp_log_nn","1"oQ1 qA3"log(x)"aS oQ1 a4 oQ1 a5 oQ1 aT oQ1 o51 +#define YT1 aI Cmp_log_np q4 Cmp_log_np wU"cmp_log_np","1"oQ1"=log"o31 oQ1"log"wN1 oQ1">=log"m91 oQ1"!=log"dG1 +#define SU1 aF Cmp_log_pn q4 Cmp_log_pn wU"cmp_log_pn","1"oR1 qA3"log(abs(x))"aS oR1 a4 oR1 a5 oR1 aT oR1 o51 +#define TU1 aF Cmp_log_pp q4 Cmp_log_pp wU"cmp_log_pp","1"oR1"=log"o31 oR1"log"wN1 oR1">=log"m91 oR1"!=log"dG1 +#define UU1 aD1 qV2 q4 qV2 q4 qV2 g5"cmp_mulneg","1"a42 qW2 a42 qX2 a42 aH1 a42">4)"wF a42 d41 a42 oW1 +#define WU1 aD1 qY2 q4 qY2 q4 qY2 g5"cmp_mulpos","1"a52 qW2 a52 qX2 a52 aH1 a52">4)"wF a52 d41 a52 oW1 +#define YU1 aD1 qC3 q4 qC3 q4 qC3 g5"cmp_neg","1"aI1"=4) + 2"aI1"<4) + 4"aI1"<=4) + 8"aI1">4) + 16"aI1 d41 aI1 oW1 +#define SV1 aF1 Cmp_powx_n_n q4 Cmp_powx_n_n,dH1"_n_n","1"g7"="w6 wC g7"<"w6 wD g7"<="w6 wE g7">"w6 wF g7">="w6 dJ3 g7"!="w6}, +#define TV1 aF1 Cmp_powx_n_p q4 Cmp_powx_n_p,dH1"_n_p","1"g7"="w5 wC g7"<"w5 wD g7"<="w5 wE g7">"w5 wF g7">="w5 dJ3 g7"!="w5}, +#define UV1 aJ1 Cmp_powx_nn q4 Cmp_powx_nn,dH1"_nn","1"g7 gU2 g7 gV2 g7 q32 g7 gW2 g7">=-4)"dJ3 g7"!=-4"o02 +#define WV1 aJ1 Cmp_powx_np q4 Cmp_powx_np,dH1"_np","1"g7 qW2 g7 qX2 g7 aH1 g7">4)"wF g7 d41 g7 oW1 +#define YV1 aF1 Cmp_powx_p_n q4 Cmp_powx_p_n,dH1"_p_n","1"oT"="w6 wC oT"<"w6 wD oT"<="w6 wE oT">"w6 wF oT">="w6 dJ3 oT"!="w6}, +#define SW1 aF1 Cmp_powx_p_p q4 Cmp_powx_p_p,dH1"_p_p","1"oT"="w5 wC oT"<"w5 wD oT"<="w5 wE oT">"w5 wF oT">="w5 dJ3 oT"!="w5}, +#define TW1 aJ1 Cmp_powx_pn q4 Cmp_powx_pn,dH1"_pn","1"g53 gU2 g53 gV2 g53 q32 g53 gW2 h3"x)>=-4)"dJ3 h3"x)!=-4"o02 +#define UW1 aJ1 Cmp_powx_pp q4 Cmp_powx_pp,dH1"_pp","1"g53 qW2 g53 qX2 g53 aH1 h3"x)>4)"wF g53 d41 g53 oW1 +#define WW1 hE Cmp_powy_n_n q4 Cmp_powy_n_n,aK1"y_n_n","1"aL1"="hE3"2"aL1"<"hE3"4"aL1"<="hE3"8"aL1">"hE3"16"aL1">="o3" 32"aL1"!=(x^-6.1))"}, +#define YW1 hE Cmp_powy_n_p q4 Cmp_powy_n_p,aK1"y_n_p","1"aL1"=(x"aU wC aL1"<(x"aU wD aL1"<=(x"aU wE aL1">(x"aU wF aL1">=(x"aU dJ3 aL1"!=(x"aU}, +#define SX1 hE Cmp_powy_nn q4 Cmp_powy_nn,aK1"y_nn","1"aL1 gU2 aL1 gV2 aL1 q32 aL1 gW2 aL1">=-4)"dJ3 aL1"!=-4"o02 +#define TX1 hE Cmp_powy_np q4 Cmp_powy_np,aK1"y_np","1"aL1 qW2 aL1 qX2 aL1 aH1 aL1">4)"wF aL1 d41 aL1 oW1 +#define UX1 hE Cmp_powy_p_n q4 Cmp_powy_p_n,aK1"y_p_n","1"h5"="hE3"2"h5"<"hE3"4"h5"<="hE3"8"h5">"hE3"16"h5">="o3" 32"h5"!=(x^-6.1))"}, +#define WX1 hE Cmp_powy_p_p q4 Cmp_powy_p_p,aK1"y_p_p","1"h5"=(x"aU wC h5"<(x"aU wD h5"<=(x"aU wE h5">(x"aU wF h5">=(x"aU dJ3 h5"!=(x"aU}, +#define YX1 hE Cmp_powy_pn q4 Cmp_powy_pn,aK1"y_pn","1"h5 gU2 h5 gV2 h5 q32 h5 gW2 h5">=-4)"dJ3 h5"!=-4"o02 +#define SY1 hE Cmp_powy_pp q4 Cmp_powy_pp,aK1"y_pp","1"h5 qW2 h5 qX2 h5 aH1 h5">4)"wF h5 d41 h5 oW1 +#define TY1 aF Cmp_sinh q4 Cmp_sinh,d9 oA2,"1"qS1"="oA2 o31 qS1"<"oA2 o41 qS1"<="oA2 wM1 qS1">"oA2 wN1 qS1">="oA2 m91 qS1"!="oA2 dG1 +#define UY1 aD1 qD3 q4 qD3 q4 qD3 g5"cmp_sqr","1"wO"=16) + 2"wO"<16) + 4"wO"<=16) + 8"wO">16) + 16"wO">=16)"dJ3 wO"!=16"o02 +#define WY1 aD1 mN1 q4 mN1 q4 mN1 g5"cmp_sqr_neg","1"wO"=-16) + 2"wO"<-16) + 4"wO"<=-16) + 8"wO">-16) + -16"wO">=-16)"dJ3 wO"!=-16"o02 +#define YY1 {1,-4,4,hA2 q4 Cmp_tanh q4 Cmp_tanh wU"cmp_tanh","1"oO"=tanh("wX" 2"oO"tanh("wX gS2 oO">=tanh("wX" 32"oO"!=tanh(0.75))"}, +#define SZ1 {1,-4,4,hA2 q4 Cmp_tanh_outrange q4 Cmp_tanh_outrange wU"cmp_tanh_outrange","1"oO"=2"o8"tanh(x)<2)"h03"4"oO"<=2) +"a22 oO">2) +"gS2 oO">=2) + 32"oO"!=2"o02 +#define TZ1 qK3 Cmpeq q4 Cmpeq q4 Cmpeq g5"cmpeq","(5=3"d52"4=4"o02 +#define UZ1 qK3 Cmpge q4 Cmpge q4 Cmpge g5"cmpge","(5>=3"d52"4>=8"o02 +#define WZ1 qK3 Cmpgt q4 Cmpgt q4 Cmpgt g5"cmpgt","(5>3"d52"4>8"o02 +#define YZ1 qK3 Cmple q4 Cmple q4 Cmple g5"cmple","(5<3"d52"4<8"o02 +#define Sa1 qK3 Cmplt q4 Cmplt q4 Cmplt g5"cmplt","(5<3)+x"}, +#define Ta1 qK3 Cmpne q4 Cmpne q4 Cmpne g5"cmpne","(5!=3"d52"4!=4"o02 +#define Ua1 qK3 Div q4 Div q4 Div g5"div","(5/4)+x"}, +#define Wa1 qK3 Div1 q4 Div1 q4 Div1 g5"div1","x/1+x"}, +#define Ya1 qK3 Divxx q4 Divxx q4 Divxx g5"divxx","x+x/x+x"}, +#define Sb1 qK3 Eq0 q4 Eq0 q4 Eq0 g5"eq0","(x=0"qI3"0="oS2 +#define Tb1 qK3 Eq1 q4 Eq1 q4 Eq1 g5"eq1","(!x=1"o02 +#define Ub1 aE1 qE3 q4 qE3 q4 qE3 g5"ge0_abs"aM1 hM3 hR3 hN3 hS3 +#define Wb1 m32 Ge0_neg q4 Ge0_neg wU"ge0_neg"aO1 hM3 oU hN3 hA3 +#define Yb1 m32 Ge0_pos q4 Ge0_pos wU"ge0_pos","("g81 hM3 h73 hN3 hK3 +#define Sc1 aE1 qF3 q4 qF3 q4 qF3 g5"ge1_abs"aM1 hO3 hR3 hP3 hS3 +#define Tc1 m32 Ge1_neg q4 Ge1_neg wU"ge1_neg"aO1 hO3 oU hP3 hA3 +#define Uc1 m32 Ge1_pos q4 Ge1_pos wU"ge1_pos","("g81 hO3 h73 hP3 hK3 +#define Wc1 m32 Gehalf q4 Gehalf wU"gehalf","x>=0.5"}, +#define Yc1 aE1 qG3 q4 qG3 q4 qG3 g5"gt0_abs"aM1 d03 hR3 d13 hS3 +#define Sd1 m32 Gt0_neg q4 Gt0_neg wU"gt0_neg"aO1 d03 oU d13 hA3 +#define Td1 m32 Gt0_pos q4 Gt0_pos wU"gt0_pos","("g81 d03 h73 d13 hK3 +#define Ud1 aE1 qH3 q4 qH3 q4 qH3 g5"gt1_abs"aM1 d23 hR3 d33 hS3 +#define Wd1 m32 Gt1_neg q4 Gt1_neg wU"gt1_neg"aO1 d23 oU d33 hA3 +#define Yd1 m32 Gt1_pos q4 Gt1_pos wU"gt1_pos","("g81 d23 h73 d33 hK3 +#define Se1 m32 Gtminushalf q4 Gtminushalf wU"gtminushalf","x>-0.5"}, +#define Te1 {1,gS3 Immsub q4 Immsub q4 Immsub g5"immsub","x-5"}, +#define Ue1 m32 Leminushalf q4 Leminushalf wU"leminushalf","x<=-0.5"}, +#define We1 {1,0,3,oZ Log2exp1 q4 Log2exp1 wU"log2exp1",m62"log2"g51 +#define Ye1 {1,-1,N(0.75),hA2 q4 Log2exp2 q4 Log2exp2 wU"log2exp2","exp2(log2(acos(x)))"}, +#define Sf1 {1,0,3,oZ Logexp1 q4 Logexp1 wU"logexp1",m62"log"g51 +#define Tf1 {1,-1,N(0.75),hA2 q4 Logexp2 q4 Logexp2 wU"logexp2",m62"log(acos(x)))"}, +#define Uf1 g61 Logmul q4 Logmul wU"logmul","log("o61 +#define Wf1 g61 Logmul2 q4 Logmul2 wU"logmul2","log2("o61 +#define Yf1 g61 Logmul10 q4 Logmul10 wU"logmul10","log10("o61 +#define Sg1 aE1 Lt0 q4 Lt0 q4 Lt0 g5"lt0","sub(abs(x)<0, x<0"o02 +#define Tg1 m32 Lthalf q4 Lthalf wU"lthalf","x<0.5"}, +#define Ug1 qK3 Mod q4 Mod q4 Mod g5"mod","(5%4)+x"}, +#define Wg1 qK3 Mul q4 Mul q4 Mul g5"mul","(5*4)+x"}, +#define Yg1 qK3 Mul1 q4 Mul1 q4 Mul1 g5"mul1","x*1+x"}, +#define Sh1 qK3 Mul1b q4 Mul1b wU"mul1b",wJ"0.2)*5)+x"}, +#define Th1 {2,N(0.1),10,N(0.1)qM q4 Mul_zero q4 Mul_zero dW gR"mul_zero","(x*y+1)+(sin(x)+sin(y))*log(x)*y*x*0"}, +#define Uh1 qK3 Mulneg q4 Mulneg q4 Mulneg g5"mulneg","-"a92 +#define Wh1 qK3 a82 q4 a82 q4 a82 g5"multodiv","x/4+x"}, +#define Yh1 {2,gS3 Negadd q4 Negadd q4 Negadd,mO2"negadd","x+(-y"o02 +#define Si1 g9 Negcos q4 Negcos wU"negcos","cos"g72 +#define Ti1 g9 Negcosh q4 Negcosh wU"negcosh","cosh"g72 +#define Ui1 qK3 Negmul q4 Negmul q4 Negmul g5"negmul","(-x)*5"}, +#define Wi1 g9 Negsin q4 Negsin wU"negsin","sin(-"oS2 +#define Yi1 g9 Negsinh q4 Negsinh wU"neg"oA2,oA2 g72 +#define Sj1 {2,gS3 Negsub q4 Negsub q4 Negsub,mO2"negsub","x-(-y"o02 +#define Tj1 g9 Negtan q4 Negtan wU"negtan","tan"g72 +#define Uj1 g9 Negtanh q4 Negtanh wU"negtanh","tanh"g72 +#define Wj1 qK3 Neq0 q4 Neq0 q4 Neq0 g5"neq0","(x!=0"qI3"0!="oS2 +#define Yj1 qK3 Neq1 q4 Neq1 q4 Neq1 g5"neq1","(!x!=1"o02 +#define Sk1 qK3 Not q4 Not q4 Not g5"not","(!(3))+x"}, +#define Tk1 qK3 Or q4 Or q4 Or g5"or","(5|3"d52"5|0)+(0|5)+(0|0"o02 +#define Uk1 g9 Sincos_cci q4 Sincos_cci,aK"cos_cci","cos"dA2" sec(x)"}, +#define Wk1 g9 Sincos_cic q4 Sincos_cic,aK"cos_cic","sec"dA2 mO1 +#define Yk1 g9 Sincos_sc q4 Sincos_sc,aK"cos_sc",qO3 mO1 +#define Sl1 g9 Sincos_sci q4 Sincos_sci,aK"cos_sci",qO3" sec(x)"}, +#define Tl1 g9 Sincos_sis q4 Sincos_sis,aK"cos_sis","csc"dA2" "q42}, +#define Ul1 g9 Sincos_ssi q4 Sincos_ssi,aK"cos_ssi",qO3" csc(x)"}, +#define Wl1 g9 Sincos_tan q4 Sincos_tan,aK"cos_tan",q42" /"mO1 +#define Yl1 g9 Sincos_tit q4 Sincos_tit,aK"cos_tit","cot"dA2" tan(x)"}, +#define Sm1 g9 Sincos_tti q4 Sincos_tti,aK"cos_tti","tan"dA2" cot(x)"}, +#define Tm1 qK3 Sqreq0 q4 Sqreq0 q4 Sqreq0 g5"sqreq0","(x*x=0"qI3"0=x*x)"}, +#define Um1 qK3 qP3 q4 qP3 q4 qP3 g5"sqrneq0","(x*x=0"qI3"0=x*x)"}, +#define Wm1 {1,0,3,oZ Sqrtsqr1 q4 Sqrtsqr1 wU"sqrtsqr1","sqrt(x)^2"}, +#define Ym1 {oY Sqrtsqr2 q4 Sqrtsqr2 wU"sqrtsqr2","sqrt(acos(x))^2"}, +#define Sn1 qK3 Sub q4 Sub q4 Sub g5"sub","5-3+x"}, +#define Tn1 qK3 Sub0 q4 Sub0 q4 Sub0 g5"sub0","x-0+x"}, +#define Un1 {1 aG wB Subxx q4 Subxx q4 Subxx g5"subxx","x+(x-x)+x+(1-x+x)"}, +#define Wn1 g9 Xmulsinhneg q4 Xmulsinhneg,0,q7"/xmulsinhneg","-"oA2 a92 +#define Yn1 g9 Xmulsinneg q4 Xmulsinneg,0,q7"/xmulsinneg","-sin(x*"gX2 +#define So1 g9 Xmultanhneg q4 Xmultanhneg,0,q7"/xmultanhneg","-tanh"a92 +#define To1 g9 Xmultanneg q4 Xmultanneg,0,q7"/xmultanneg","-tan"a92 +#define Uo1 {1,N(0.5),3,N(0.7)qM q4 Xsqryfsqrhypot q4 Xsqryfsqrhypot,0,q7"/xsqryfsqrhypot","sqrt(log(x)^2+"wN"^2"o02 +#define Wo1 {2,N(0.5),3,N(0.7)qM q4 Xsqrysqrhypot q4 Xsqrysqrhypot a51,"10optimizer_bytecode/xsqrysqrhypot","sqrt(log(x)^2+y*y"o02 +#define Yo1 {1 aL t1,q5 t1,q5 t1,"a",qE"1","(1/a"qS3 +#define Sp1 {1 aL t2,q5 t2,q5 t2,"a",qE"2","5*a"}, +#define Tp1 {1 aL t3,q5 t3,q5 t3,"a",qE"3","5/a"}, +#define Up1 {2 aL t4,q5 t4,q5 t4,hB"4","(a*5)*b"}, +#define Wp1 {2 aL t5,q5 t5,q5 t5,hB"5","(a*5)/b"}, +#define Yp1 {2 aL t6,q5 t6,q5 t6,hB"6","(1/a)*b"}, +#define Sq1 {2 aL t7,q5 t7,q5 t7,hB"7","(1/a)/b"}, +#define Tq1 {2 aL t8,q5 t8,q5 t8,hB"8",aA2")*("aB2")*"gX2 +#define Uq1 {2 aL t9,q5 t9,q5 t9,hB"9",aA2")/("aB2")*"gX2 +#define Wq1 aM t10,q5 t10,q5 t10,hB"10",aB2")*(5/a"o02 +#define Yq1 aM t11,q5 t11,q5 t11,hB"11",aB2")/(50/a"o02 +#define Sr1 m92 t12,q5 t12,q5 t12,"a",qE"12","(-a)+5"}, +#define Tr1 aM t13,q5 t13,q5 t13,hB"13","5+(a*b"o02 +#define Ur1 aM t14,q5 t14,q5 t14,hB"14","5-(a*b"o02 +#define Wr1 aM t15,q5 t15,q5 t15,hB"15","(a+5)+"aB2 o02 +#define Yr1 aM t16,q5 t16,q5 t16,hB"16","(a+5)-abs(b"o02 +#define Ss1 aM t17,q5 t17,q5 t17,hB"17","(-a)+"aB2 o02 +#define Ts1 aM t18,q5 t18,q5 t18,hB"18","(-a)-abs(b"o02 +#define Us1 aM t19,q5 t19,q5 t19,hB"19","b+("aA2")+"gX2 +#define Ws1 aM t20,q5 t20,q5 t20,hB"20","b-("aA2")+"gX2 +#define Ys1 aM t21,q5 t21,q5 t21,hB"21",aB2")+(5-a"o02 +#define St1 aM t22,q5 t22,q5 t22,hB"22",aB2")-(5-a"o02 +#define Tt1 aM t23,q5 t23,q5 t23,hB"23",h41"b"qQ3 +#define Ut1 aM t24,q5 t24,q5 t24,hB"24",h41"5"qQ3 +#define Wt1 aM t25,q5 t25,q5 t25,hB"25",h41"5"qR3 +#define Yt1 aM t26,q5 t26,q5 t26,hB"26","( abs(a)/b"qQ3 +#define Su1 aM t27,q5 t27,q5 t27,hB"27","( abs(a)/b"qR3 +#define Tu1 aM t28,q5 t28,q5 t28,hB"28","((-a)/b"qS3 +#define Uu1 aM t29,q5 t29,q5 t29,hB"29","(5/b"qR3 +#define Wu1 m92 t30,q5 t30,q5 t30,"b",qE"30","(7/b"qS3 +#define Yu1 aM t31,q5 t31,q5 t31,hB"31","b*(7/-a"o02 +#define Sv1 aM t32,q5 t32,q5 t32,hB"32","(5-b)-a"}, +#define Tv1 aM t33,q5 t33,q5 t33,hB"33","(5-b)+a"}, +#define Uv1 aM t34,q5 t34,q5 t34,hB"34","((a+7)-b)+5"}, +#define Wv1 aM t35,q5 t35,q5 t35,hB"35","((-a)-b)+5"}, +#define Yv1 m92 t36,q5 t36,q5 t36,"a",qE"36","(7-abs(a))+5"}, +#define Sw1 aM t37,q5 t37,q5 t37,hB"37","((7-b)+a)+5"}, +#define Tw1 aM t38,q5 t38,q5 t38,hB"38","((5*b+"aA2"))<0)*1 + (("aB2"))<0)*2"}, +#define Uw1 m92 t39,q5 t39,q5 t39,"a",qE"39","(a+7"qS3 +#define Ww1 aM t40,q5 t40,q5 t40,hB"40","(b+(a*7))*5"}, +#define Yw1 aM t41,q5 t41,q5 t41,hB"41","(b-(a*7))*5"}, +#define Sx1 m92 t42,q5 t42,q5 t42,"a",qE"42","(a+7)+5"}, +#define Tx1 m92 t43,q5 t43,q5 t43,"a",qE"43","(a*7"qS3 +#define Ux1 gL3 qT3 q2 qT3 q2 qT3 oK1"abseq0"aM1"=if"gY2 dB3"(if"gY2")=abs"g51 +#define Wx1 gL3 aC2 q2 aC2 q2 aC2 oK1"absneq0"aM1"=if"gY2 dB3"(if"gY2")=abs"g51 +#define Yx1 gL3 Eq0,q2 Eq0,q2 Eq0,oK1"eq0","(x=if("qT1" (if(1,0,0)="oS2 +#define Sy1 gL3 Eq1,q2 Eq1,q2 Eq1,oK1"eq1","(!x=if"gM3}, +#define Ty1 dP3 aD2 q2 aD2 q2 aD2 oK1"ge0_abs"aM1 dO3 h83" 2"hP1 dN3 hB3"<= "h83"8"hP1 dO3 hS3 +#define Uy1 dP3 aE2 q2 aE2 q2 aE2 oK1"ge1_abs"aM1" >= if"gM3 q22 dI1 dN3 hB3"<= if"hQ1 dB3" 8"dI1 dO3 hS3 +#define Wy1 {1 d6 hA2,q2 Gehalf,q2 Gehalf,gD"gehalf","x>=if(1,0.5,0"o02 +#define Yy1 dP3 aF2 q2 aF2 q2 aF2 oK1"gt0_abs"aM1" > "h83" 2"hP1 dH3 hB3"< "h83"8"hP1" > "hS3 +#define Sz1 dP3 aG2 q2 aG2 q2 aG2 oK1"gt1_abs"aM1" > if"gM3 q22 dI1 dH3 hB3"< if"hQ1 dB3" 8"dI1" > "hS3 +#define Tz1 {1 d6 hA2,q2 Lthalf,q2 Lthalf,gD"lthalf","x7 & x<2"}, +#define S_1 {2,-9,9,gR3 t8,g3 t8 a51,oF"8",aH2"(-x,-y) + 10*"aH2"(-x,y) + 20*"aH2"(x,-y) + 30*"aH2"(x"mF1 +#define T_1 {1 aP1 t9a,g3 t9a,g3 t9a,m42"9a","a:=x;a*0"}, +#define U_1 {2 aP1 t9b,g3 t9b,g3 t9b,aI2"9b","sub(a,b"qU3 +#define W_1 {2 aP1 t9c,g3 t9c,g3 t9c,aI2"9c","psub(a,b"qU3 +#define Y_1 {2 aP1 t9d,g3 t9d,g3 t9d,aI2"9d","if(a,b*0,a*0"qU3 +#define S02 {2,hD Add_cd,0 a61"add_cd","x+y"}, +#define T02 {2,g33 Add_d,qG Add_d a61"add_d","x+y"}, +#define U02 {3,hD Addsub_cd,0 wQ2 g0"addsub_cd","x+y+x+x-z+x"}, +#define W02 {3,g33 Addsub_d,qG Addsub_d wQ2 g0"addsub_d","x+y+x+x-z+x"}, +#define Y02 {2,gK And_d,qG And_d a61"and_d","x&y"}, +#define S12 {2,hD Cmpeq_cd,0 a61"cmpeq_cd","x=y"}, +#define T12 {2,gK Cmpeq_d,qG Cmpeq_d a61"cmpeq_d","x=y"}, +#define U12 {2,gK Cmpge_d,qG Cmpge_d a61"cmpge_d","x>=y"}, +#define W12 {2,gK Cmpgt_d,qG Cmpgt_d a61"cmpgt_d","x>y"}, +#define Y12 {2,gK Cmple_d,qG Cmple_d a61"cmple_d","x<=y"}, +#define S22 {2,gK Cmplt_d,qG Cmplt_d a61"cmplt_d","x= if("oX2"), "d63" >= (if(1,1,0)-1))"}, +#define YG2 {1,N(-5.0,0.0),N(5.0,0.0),gL2 oY2 q2 oY2 q2 oY2 oK1"absnzlt","sub(abs(x)"dH3"if("oX2"), "d63 dH3"(if(1,1,0)-1))"}, +#define SH2 {1,N(-1.0,0.0),N(1.0,0.0),N(0.1,0.0)qM,q2 Acoscos,q2 Acoscos,gD"acoscos","cos(acos"g51 +#define TH2 {1,N(1.7,0.0),N(3.7,0.0),N(0.28,0.0)qM,q2 Acoshsinh,q2 Acoshsinh,gD q23 oA2,oA2"(if(1,acosh(x),0))"}, +#define UH2 {hM mE1,q2 mE1,q2 mE1 qN"addconstmul","5*(if("oX2")+x+y"o02 +#define WH2 {2 oZ1,N(1.0,0.0)oZ1 qM,q2 Addlog,q2 Addlog,0 qN"addlog","log(x)+log(y"o02 +#define YH2 {hM dR1,q2 dR1,q2 dR1 qN"addmulconstmul","5*(if("oX2")*y+x)"}, +#define SI2 {hM wS1,q2 wS1,q2 wS1 qN"addnegmulneg","-5 + (if(1,5,0)*x*y"o02 +#define TI2 {hM wT1,q2 wT1,q2 wT1 qN"addnegmulpos","(if(1,-5,0)*y"qI3"if(1,5,0)*x)"}, +#define UI2 {1,h9 Addsin2cos2,q2 Addsin2cos2,gD"addsin2cos2",q42"^2 + cos(x)^2"}, +#define WI2 {1,N(-0.7,0.0),N(0.7,0.0),N(0.28,0.0)qM,q2 Asinhcosh,q2 Asinhcosh,gD"asinhcosh","cosh(if(1,a"oA2"(x),0))"}, +#define YI2 {1,N(-1.0,0.0),N(1.0,0.0),N(0.1,0.0)qM,q2 Asinsin,q2 Asinsin,gD"asinsin","sin(asin(x))"}, +#define SJ2 oG w01,q2 w01,q2 w01 qN"cmpeq_add_imm",h61 hE2 +#define TJ2 wO1 gH1 q2 gH1 q2 gH1 oK1"cmpeq_add_reduce",d73"="dQ3 +#define UJ2 oG h81,q2 h81,q2 h81 qN"cmpeq_addadd_imm",o7 w72 +#define WJ2 {hN wU1,q2 wU1,q2 wU1 qN"cmpeq_minma"oZ2" = "hF3 +#define YJ2 {hN h91,q2 h91,q2 h91 qN"cmpeq_minmax"d83"= "h93 +#define SK2 oG gI1,q2 gI1,q2 gI1 qN"cmpeq_mul_imm_neg",dT1 hE2 +#define TK2 oG gJ1,q2 gJ1,q2 gJ1 qN"cmpeq_mul_imm_pos",wV1 hE2 +#define UK2 oG mP,q2 mP,q2 mP qN"cmpeq_mulmul_imm_neg",mM2 w72 +#define WK2 oG mQ,q2 mQ,q2 mQ qN"cmpeq_mulmul_imm_pos",gP3 w72 +#define YK2 oL1 Cmpeq_pow_imm_negneg,q2 Cmpeq_pow_imm_negneg,gD a91 hS" = "gZ3 +#define SL2 oL1 Cmpeq_pow_imm_negpos,q2 Cmpeq_pow_imm_negpos,gD a91 hT" = "h13 +#define TL2 wO1 Cmpeq_pow_imm_posneg,q2 Cmpeq_pow_imm_posneg,gD a91 d0" = "d53 +#define UL2 wO1 Cmpeq_pow_imm_pospos,q2 Cmpeq_pow_imm_pospos,gD a91 d3" = "hG3 +#define WL2 wO1 Cmpeq_pow_imm_pospos_base,q2 Cmpeq_pow_imm_pospos_base,gD a91 h33"= "wK +#define YL2 oG Cmpeq_powpow_imm_base,q2 Cmpeq_powpow_imm_base,0 qN a91 hC" = "a3 +#define SM2 oG w11,q2 w11,q2 w11 qN"cmpge_add_imm",h61 qK2 +#define TM2 wO1 gK1 q2 gK1 q2 gK1 oK1"cmpge_add_reduce",d73">="dQ3 +#define UM2 oG hA1,q2 hA1,q2 hA1 qN"cmpge_addadd_imm",o7 o72 +#define WM2 {hN wW1,q2 wW1,q2 wW1 qN"cmpge_minma"oZ2 dO3 hF3 +#define YM2 {hN hB1,q2 hB1,q2 hB1 qN"cmpge_minmax"d83">= "h93 +#define SN2 oG gL1,q2 gL1,q2 gL1 qN"cmpge_mul_imm_neg",dT1 qK2 +#define TN2 oG gM1,q2 gM1,q2 gM1 qN"cmpge_mul_imm_pos",wV1 qK2 +#define UN2 oG mR,q2 mR,q2 mR qN"cmpge_mulmul_imm_neg",mM2 o72 +#define WN2 oG mS,q2 mS,q2 mS qN"cmpge_mulmul_imm_pos",gP3 o72 +#define YN2 oL1 Cmpge_pow_imm_negneg,q2 Cmpge_pow_imm_negneg,o71 hS dO3 gZ3 +#define SO2 oL1 Cmpge_pow_imm_negpos,q2 Cmpge_pow_imm_negpos,o71 hT dO3 h13 +#define TO2 wO1 Cmpge_pow_imm_posneg,q2 Cmpge_pow_imm_posneg,o71 d0 dO3 d53 +#define UO2 wO1 Cmpge_pow_imm_pospos,q2 Cmpge_pow_imm_pospos,o71 d3 dO3 hG3 +#define WO2 wO1 Cmpge_pow_imm_pospos_base,q2 Cmpge_pow_imm_pospos_base,o71 h33">= "wK +#define YO2 oG Cmpge_powpow_imm_base,q2 Cmpge_powpow_imm_base,0 qN"cmpge_"hC dO3 a3 +#define SP2 oG w21,q2 w21,q2 w21 qN"cmpgt_add_imm",h61 hF2 +#define TP2 wO1 gN1 q2 gN1 q2 gN1 oK1"cmpgt_add_reduce",d73">"dQ3 +#define UP2 oG hC1,q2 hC1,q2 hC1 qN"cmpgt_addadd_imm",o7 w52 +#define WP2 {hN wX1,q2 wX1,q2 wX1 qN"cmpgt_minma"oZ2" > "hF3 +#define YP2 {hN hD1,q2 hD1,q2 hD1 qN"cmpgt_minmax"d83"> "h93 +#define SQ2 oG gO1,q2 gO1,q2 gO1 qN"cmpgt_mul_imm_neg",dT1 hF2 +#define TQ2 oG gP1,q2 gP1,q2 gP1 qN"cmpgt_mul_imm_pos",wV1 hF2 +#define UQ2 oG mT,q2 mT,q2 mT qN"cmpgt_mulmul_imm_neg",mM2 w52 +#define WQ2 oG mU,q2 mU,q2 mU qN"cmpgt_mulmul_imm_pos",gP3 w52 +#define YQ2 oL1 Cmpgt_pow_imm_negneg,q2 Cmpgt_pow_imm_negneg,o81 hS" > "gZ3 +#define SR2 oL1 Cmpgt_pow_imm_negpos,q2 Cmpgt_pow_imm_negpos,o81 hT" > "h13 +#define TR2 wO1 Cmpgt_pow_imm_posneg,q2 Cmpgt_pow_imm_posneg,o81 d0" > "d53 +#define UR2 wO1 Cmpgt_pow_imm_pospos,q2 Cmpgt_pow_imm_pospos,o81 d3" > "hG3 +#define WR2 wO1 Cmpgt_pow_imm_pospos_base,q2 Cmpgt_pow_imm_pospos_base,o81 h33"> "wK +#define YR2 oG Cmpgt_powpow_imm_base,q2 Cmpgt_powpow_imm_base,0 qN"cmpgt_"hC" > "a3 +#define SS2 oG w31,q2 w31,q2 w31 qN"cmple_add_imm",h61 qL2 +#define TS2 wO1 gQ1 q2 gQ1 q2 gQ1 oK1"cmple_add_reduce",d73"<="dQ3 +#define US2 oG hE1,q2 hE1,q2 hE1 qN"cmple_addadd_imm",o7 w62 +#define WS2 {hN wY1,q2 wY1,q2 wY1 qN"cmple_minma"oZ2 dN3 hF3 +#define YS2 {hN hF1,q2 hF1,q2 hF1 qN"cmple_minmax"d83"<= "h93 +#define ST2 oG gR1,q2 gR1,q2 gR1 qN"cmple_mul_imm_neg",dT1 qL2 +#define TT2 oG gS1,q2 gS1,q2 gS1 qN"cmple_mul_imm_pos",wV1 qL2 +#define UT2 oG mV,q2 mV,q2 mV qN"cmple_mulmul_imm_neg",mM2 w62 +#define WT2 oG mW,q2 mW,q2 mW qN"cmple_mulmul_imm_pos",gP3 w62 +#define YT2 oL1 Cmple_pow_imm_negneg,q2 Cmple_pow_imm_negneg,m52 hS dN3 gZ3 +#define SU2 oL1 Cmple_pow_imm_negpos,q2 Cmple_pow_imm_negpos,m52 hT dN3 h13 +#define TU2 wO1 Cmple_pow_imm_posneg,q2 Cmple_pow_imm_posneg,m52 d0 dN3 d53 +#define UU2 wO1 Cmple_pow_imm_pospos,q2 Cmple_pow_imm_pospos,m52 d3 dN3 hG3 +#define WU2 wO1 Cmple_pow_imm_pospos_base,q2 Cmple_pow_imm_pospos_base,m52 h33"<= "wK +#define YU2 oG Cmple_powpow_imm_base,q2 Cmple_powpow_imm_base,0 qN aA1 hC dN3 a3 +#define SV2 oG w41,q2 w41,q2 w41 qN"cmplt_add_imm",h61 qM2}, +#define TV2 wO1 gT1 q2 gT1 q2 gT1 oK1"cmplt_add_reduce",d73"<"dQ3 +#define UV2 oG hG1,q2 hG1,q2 hG1 qN"cmplt_addadd_imm",o7")"dH3 hY +#define WV2 {hN wZ1,q2 wZ1,q2 wZ1 qN"cmplt_minma"oZ2 dH3 hF3 +#define YV2 {hN hH1,q2 hH1,q2 hH1 qN"cmplt_minmax"d83"< "h93 +#define SW2 oG gU1,q2 gU1,q2 gU1 qN"cmplt_mul_imm_neg",dT1 qM2}, +#define TW2 oG gV1,q2 gV1,q2 gV1 qN"cmplt_mul_imm_pos",wV1 qM2}, +#define UW2 oG mX,q2 mX,q2 mX qN"cmplt_mulmul_imm_neg",mM2")"dH3 hY +#define WW2 oG mY,q2 mY,q2 mY qN"cmplt_mulmul_imm_pos",wJ"4)"dH3 hY +#define YW2 oL1 Cmplt_pow_imm_negneg,q2 Cmplt_pow_imm_negneg,o91 hS dH3 gZ3 +#define SX2 oL1 Cmplt_pow_imm_negpos,q2 Cmplt_pow_imm_negpos,o91 hT dH3 h13 +#define TX2 wO1 Cmplt_pow_imm_posneg,q2 Cmplt_pow_imm_posneg,o91 d0 dH3 d53 +#define UX2 wO1 Cmplt_pow_imm_pospos,q2 Cmplt_pow_imm_pospos,o91 d3 dH3 hG3 +#define WX2 wO1 Cmplt_pow_imm_pospos_base,q2 Cmplt_pow_imm_pospos_base,o91 h33"< "wK +#define YX2 oG Cmplt_powpow_imm_base,q2 Cmplt_powpow_imm_base,0 qN"cmplt_"hC dH3 a3 +#define SY2 oG w51,q2 w51,q2 w51 qN"cmpne_add_imm",h61 a01}, +#define TY2 wO1 gW1 q2 gW1 q2 gW1 oK1"cmpne_add_reduce",d73"!="dQ3 +#define UY2 oG hI1,q2 hI1,q2 hI1 qN"cmpne_addadd_imm",o7 o82 +#define WY2 {hN a11,q2 a11,q2 a11 qN"cmpne_minma"oZ2 dI3 hF3 +#define YY2 {hN hJ1,q2 hJ1,q2 hJ1 qN"cmpne_minmax"d83"!= "h93 +#define SZ2 oG gX1,q2 gX1,q2 gX1 qN"cmpne_mul_imm_neg",dT1 a01}, +#define TZ2 oG gY1,q2 gY1,q2 gY1 qN"cmpne_mul_imm_pos",wV1 a01}, +#define UZ2 oG mZ,q2 mZ,q2 mZ qN"cmpne_mulmul_imm_neg",mM2 o82 +#define WZ2 oG q01,q2 q01,q2 q01 qN"cmpne_mulmul_imm_pos",gP3 o82 +#define YZ2 oL1 Cmpne_pow_imm_negneg,q2 Cmpne_pow_imm_negneg,oA1 hS dI3 gZ3 +#define Sa2 oL1 Cmpne_pow_imm_negpos,q2 Cmpne_pow_imm_negpos,oA1 hT dI3 h13 +#define Ta2 wO1 Cmpne_pow_imm_posneg,q2 Cmpne_pow_imm_posneg,oA1 d0 dI3 d53 +#define Ua2 wO1 Cmpne_pow_imm_pospos,q2 Cmpne_pow_imm_pospos,oA1 d3 dI3 hG3 +#define Wa2 wO1 Cmpne_pow_imm_pospos_base,q2 Cmpne_pow_imm_pospos_base,oA1 h33"!= "wK +#define Ya2 oG Cmpne_powpow_imm_base,q2 Cmpne_powpow_imm_base,0 qN"cmpne_"hC dI3 a3 +#define Sb2 oG w61,q2 w61,q2 w61 qN"cmpzz_add_imm"dC" "h61 qM2 aC" "h61 qN2" "h61 hG2" "h61 qO2 h61 a01 dD h61 hE2 +#define Tb2 wO1 gZ1 q2 gZ1 q2 gZ1 oK1"cmpzz_add_reduce"dC" "d73"< "h1 aC" "d73"<= "h1 aE" "d73"> "h1 oV" "d73">= "h1 aD d73"!= "h1 dD d73"="dQ3 +#define Ub2 oG hK1,q2 hK1,q2 hK1 qN"cmpzz_addadd_imm"dC" "o7 hH2 aC" "o7 hI2" "o7 hJ2" "o7 wB1 o7 wC1 o7 w72 +#define Wb2 {hN a21,q2 a21,q2 a21 qN"cmpzz_minmax"dC hD3"< "hH3 aC hD3"<= "hH3 aE hD3"> "hH3 oV hD3">= "hH3 g1"0010 *"hD3"!= "hH3" + 0x0020 *"hD3"= "hF3 +#define Yb2 {hN hM1,q2 hM1,q2 hM1 qN"cmpzz_minmax_rev"dC hD3"< "hI3 aC hD3"<= "hI3 aE hD3"> "hI3 oV hD3">= "hI3 g1"0010 *"hD3"!= "hI3" + 0x0020 *"hD3"= "h93 +#define Sc2 oG h01,q2 h01,q2 h01 qN"cmpzz_mul_imm_neg"dC gP2 qM2 aC gP2 qN2 gP2 hG2 gP2 qO2 dT1 a01 dD dT1 hE2 +#define Tc2 oG h11,q2 h11,q2 h11 qN"cmpzz_mul_imm_pos"dC oN1 qM2 aC oN1 qN2 oN1 hG2 oN1 qO2 wV1 a01 dD wV1 hE2 +#define Uc2 oG q11,q2 q11,q2 q11 qN"cmpzz_mulmul_imm_neg"dC h71 hH2 aC h71 hI2 h71 hJ2 h71 wB1 mM2 wC1 mM2 w72 +#define Wc2 oG q21,q2 q21,q2 q21 qN"cmpzz_mulmul_imm_pos"dC" "gP3 hH2 aC" "gP3 hI2" "gP3 hJ2" "gP3 wB1 gP3 wC1 gP3 w72 +#define Yc2 oL1 Cmpzz_pow_imm_negneg,q2 Cmpzz_pow_imm_negneg,hO1"_imm_negneg"dC oU1 dH3 h43 aC oU1 dN3 h43 aE oU1" > "h43 oV oU1 dO3 h43 aD gO",-3)"dI3 h43 dD gO",-3) = "gZ3 +#define Sd2 oL1 Cmpzz_pow_imm_negpos,q2 Cmpzz_pow_imm_negpos,hO1"_imm_negpos"dC oV1 dH3 hC3 aC oV1 dN3 hC3 aE oV1" > "hC3 oV oV1 dO3 hC3 aD gO",-2)"dI3 hC3 dD gO",-2) = "h13 +#define Td2 wO1 Cmpzz_pow_imm_posneg,q2 Cmpzz_pow_imm_posneg,hO1"_imm_posneg"dC dA3"< "hW3 aC dA3"<= "hW3 aE dA3"> "hW3 oV dA3">= "hW3 aD gO",3)"dI3 hW3 dD gO",3) = "d53 +#define Ud2 wO1 Cmpzz_pow_imm_pospos,q2 Cmpzz_pow_imm_pospos,hO1"_imm_pospos"dC q02 dH3"25)"aC q02" <= 25)"aE q02" > 25)"oV q02" >= 25)"aD gO",2)"dI3"25)"dD gO",2) = "hG3 +#define Wd2 wO1 Cmpzz_pow_imm_pospos_base,q2 Cmpzz_pow_imm_pospos_base,hO1"_imm_pospos_base"dC" "h63"<"dR3 aC" "h63"<="dR3 aE" "h63">"dR3 oV" "h63">="dR3 aD h63"!="dR3 dD h63"= "wK +#define Yd2 oG Cmpzz_powpow_imm_base,q2 Cmpzz_powpow_imm_base,0 qN"cmpzz_powpow_imm_base"dC" "qQ1 dH3 g71 aC" "qQ1 dN3 g71 aE" "qQ1" > "g71 oV" "qQ1 dO3 g71 aD qQ1 dI3 g71 dD qQ1" = "a3 +#define Se2 {1 qP1 Eq0,q2 Eq0,q2 Eq0,oK1"eq0","(x=if("qT1" (if(1,0,0)="oS2 +#define Te2 {1 qP1 Eq1,q2 Eq1,q2 Eq1,oK1"eq1","(!x=if"gM3}, +#define Ue2 {2,dS Expexp_a,q2 Expexp_a,0 qN q43"p_a","exp(x*2 + y*3"o02 +#define We2 {3,dS Expexp_b,q2 Expexp_b mC q43"p_b",aR" * exp(y+z"o02 +#define Ye2 {3,dS Expexp_c,q2 Expexp_c mC q43"p_c","exp(x + y*z"o02 +#define Sf2 {1 aJ aD2 q2 aD2 q2 aD2 oK1"ge0_abs"aM1 dO3 h83" 2"hP1 dN3 hB3"<= "h83"8"hP1 dO3 hS3 +#define Tf2 {1 aJ aE2 q2 aE2 q2 aE2 oK1"ge1_abs"aM1" >= if"gM3 q22 dI1 dN3 hB3"<= if"hQ1 dB3" 8"dI1 dO3 hS3 +#define Uf2 {hN hK2,q2 hK2,q2 hK2 qN"ge_and_eq",mW2 oS1 +#define Wf2 {hN hL2,q2 hL2,q2 hL2 qN"ge_and_le",mW2 hN1}, +#define Yf2 {hN hM2,q2 hM2,q2 hM2 qN"ge_and_ne",mW2 dJ1 +#define Sg2 {hN w82,q2 w82,q2 w82 qN"ge_or_eq",mX2 oS1 +#define Tg2 {hN w92,q2 w92,q2 w92 qN"ge_or_le",mX2 hN1}, +#define Ug2 {hN wA2,q2 wA2,q2 wA2 qN"ge_or_ne",mX2 dJ1 +#define Wg2 {1,N(-1.0,0.0),N(1.0,0.0)oZ1 qM,q2 Gehalf,q2 Gehalf,gD"gehalf","x>=if(1,0.5,0"o02 +#define Yg2 {1 aJ aF2 q2 aF2 q2 aF2 oK1"gt0_abs"aM1" > "h83" 2"hP1 dH3 hB3"< "h83"8"hP1" > "hS3 +#define Sh2 {1 aJ aG2 q2 aG2 q2 aG2 oK1"gt1_abs"aM1" > if"gM3 q22 dI1 dH3 hB3"< if"hQ1 dB3" 8"dI1" > "hS3 +#define Th2 {hN hN2,q2 hN2,q2 hN2 qN"gt_and_eq"gQ2 oS1 +#define Uh2 {hN hO2,q2 hO2,q2 hO2 qN"gt_and_ge"gQ2 m7}, +#define Wh2 {hN hP2,q2 hP2,q2 hP2 qN"gt_and_le"gQ2 hN1}, +#define Yh2 {hN hQ2,q2 hQ2,q2 hQ2 qN"gt_and_ne"gQ2 dJ1 +#define Si2 {hN wB2,q2 wB2,q2 wB2 qN"gt_or_eq"gA3 oS1 +#define Ti2 {hN wC2,q2 wC2,q2 wC2 qN"gt_or_ge"gA3 m7}, +#define Ui2 {hN wD2,q2 wD2,q2 wD2 qN"gt_or_le"gA3 hN1}, +#define Wi2 {hN wE2,q2 wE2,q2 wE2 qN"gt_or_ne"gA3 dJ1 +#define Yi2 {1 qP1 If10,q2 If10,q2 If10,oK1"if10",o6",1,0) + 10*"o6",0,1) + 100*"o6">0,1,0) + 1000*"o6">0,0,1"o02 +#define Sj2 {2,gE dV1,q2 dV1,q2 dV1 qN1"tract_abs",o6", abs(x+2), abs(y+5))"}, +#define Tj2 {2,gE dW1,q2 dW1,q2 dW1 qN1"tract_add"hB2"+2, y+"gX2 +#define Uj2 {2,gE d71,q2 d71,q2 d71 qN1"tract_add1"hB2"+2, y"o02 +#define Wj2 {2,gE d81,q2 d81,q2 d81 qN1"tract_add2",o6", y, y+2"o02 +#define Yj2 {oC qJ1 q2 qJ1 q2 qJ1"x"dU"tract_and1_l"hB2"&z, y<1"o02 +#define Sk2 {oC q71 q2 q71 q2 q71"x"dU"tract_and1_nl"hB2"&z, z"o02 +#define Tk2 {oC qK1 q2 qK1 q2 qK1"x"dU"tract_and2_l",o6", y<1, y&z"o02 +#define Uk2 {oC q81 q2 q81 q2 q81"x"dU"tract_and2_nl",o6", z, y&z"o02 +#define Wk2 {2,gE dX1,q2 dX1,q2 dX1 qN1"tract_min",o6", min(y,2), min(y,5))"}, +#define Yk2 {2,gE dY1,q2 dY1,q2 dY1 qN1"tract_mul"hB2"*2, y*"gX2 +#define Sl2 {2,gE d91,q2 d91,q2 d91 qN1"tract_mul1"hB2"*2, y"o02 +#define Tl2 {2,gE dA1,q2 dA1,q2 dA1 qN1"tract_mul2",o6", y, y*2"o02 +#define Ul2 {oC h21 q2 h21 q2 h21"x"dU"tract_or1_l",o6", y|z, y<1"o02 +#define Wl2 {oC qL1 q2 qL1 q2 qL1"x"dU"tract_or1_nl",o6", y|z, z"o02 +#define Yl2 {oC h31 q2 h31 q2 h31"x"dU"tract_or2_l",o6", y<1, y|z"o02 +#define Sm2 {oC qO1 q2 qO1 q2 qO1"x"dU"tract_or2_nl",o6", z, y|z"o02 +#define Tm2 {2,N(-4.0,0.0),N(4.0,0.0)gE1 q2 If_extract_sin,q2 If_extract_sin,0 qN1"tract_sin",o6", sin(y), "hA3 +#define Um2 {2,gZ If_join_add,q2 If_join_add,0 qN"if_join_add"o92"+"aB1 +#define Wm2 {1,g73 N(5.0,0.0),gL2 w71 q2 w71 q2 w71 oK1"if_join_add2","x + 10 +"hL1"<4, 3,4"o02 +#define Ym2 {2,gZ If_join_and,q2 If_join_and,0 qN"if_join_and"o92"&"aB1 +#define Sn2 {2,gZ If_join_max,q2 If_join_max,0 qN"if_join_max","max("o6 dA","hX3")))"}, +#define Tn2 {2,gZ If_join_min,q2 If_join_min,0 qN"if_join_min","min("o6 dA","hX3")))"}, +#define Un2 {2,gZ If_join_mul,q2 If_join_mul,0 qN"if_join_mul"o92"*"aB1 +#define Wn2 {1,g73 N(5.0,0.0),gL2 w81 q2 w81 q2 w81 oK1"if_join_mul2","x * 10 *"hL1"<4, 3,4"o02 +#define Yn2 {2,gZ If_join_or,q2 If_join_or,0 qN"if_join_or",o6 dA" |"hX3"))"}, +#define So2 {1 aJ Ifabs,q2 Ifabs,q2 Ifabs,oK1"ifabs","1"dD1"< 0,-x,"h53" 10"dD1"<=0,-x,"h53" 100"dD1"> 0,-x,"h53" 1000"dD1">=0,-x,"h53"10000"dD1"< 0,x"dE3" 100000"dD1"<=0,x"dE3" 1000000"dD1"> 0,x"dE3"10000000"dD1">=0,x,-"mR2 +#define To2 {3,h9 Ifabsnot,q2 Ifabsnot mC"ifabsnot","if(!(sin(x)+1.2), y,z"o02 +#define Uo2 {3,h9 Ifconst,q2 Ifconst mC"ifconst","if(1, x,y) + if(0,z,y"o02 +#define Wo2 {4 qP1 Ififconst,q2 Ififconst,0,"w,"mG"ififconst","if("o6",1,y),z,w) + if(if(w,z,0),"w02 +#define Yo2 {4 aJ wF2 q2 wF2 q2 wF2"b,d,"w12"ifmerge"dJ2"y,x,b"mZ2"y,x,d)) + if(b,if(d,y,x),if(d,b,"mR2 +#define Sp2 {4 aJ hR2 q2 hR2 q2 hR2"a,b,"w12"ifmerge2"dJ2"y,a,b"mZ2"b,a,b))"}, +#define Tp2 {4 aJ qP2 q2 qP2 q2 qP2"a,b,"w12"ifmerge2b"dJ2"y,a,b"mZ2"b,b,a))"}, +#define Up2 {hN Ifnop,q2 Ifnop,q2 Ifnop qN"ifnop",o6",y,y"o02 +#define Wp2 {3 qP1 Ifnot,q2 Ifnot mC"ifnot","if(!x, y,z"o02 +#define Yp2 hO L_abs,q2 L_abs,q2 L_abs qN"l_abs","(x+2) & "d63 mQ1 +#define Sq2 hO wG2,q2 wG2,q2 wG2 qN"l_mulabs","(x*abs(y))"mQ1 +#define Tq2 hO wH2,q2 wH2,q2 wH2 qN"l_mulneg","(x*y*-5)"mQ1 +#define Uq2 hO wI2,q2 wI2,q2 wI2 qN"l_notnot","(x+2) & !!x"mQ1 +#define Wq2 {hN hS2,q2 hS2,q2 hS2 qN"le_and_eq",hN1" & "oS1 +#define Yq2 {hN hT2,q2 hT2,q2 hT2 qN"le_and_ne",hN1" & "dJ1 +#define Sr2 {hN wJ2,q2 wJ2,q2 wJ2 qN"le_or_eq",hN1" | "oS1 +#define Tr2 {hN wK2,q2 wK2,q2 wK2 qN"le_or_ne",hN1" | "dJ1 +#define Ur2 {hN hU2,q2 hU2,q2 hU2 qN"lt_and_eq"hV2 oS1 +#define Wr2 {hN hW2,q2 hW2,q2 hW2 qN"lt_and_ge"hV2 m7}, +#define Yr2 {hN hX2,q2 hX2,q2 hX2 qN"lt_and_gt"hV2"(x > y"o02 +#define Ss2 {hN hY2,q2 hY2,q2 hY2 qN"lt_and_le"hV2 hN1}, +#define Ts2 {hN hZ2,q2 hZ2,q2 hZ2 qN"lt_and_ne"hV2 dJ1 +#define Us2 {hN wL2,q2 wL2,q2 wL2 qN"lt_or_eq"gK3 oS1 +#define Ws2 {hN wM2,q2 wM2,q2 wM2 qN"lt_or_ge"gK3 m7}, +#define Ys2 {hN wN2,q2 wN2,q2 wN2 qN"lt_or_gt"mD" | (x > y"o02 +#define St2 {hN wO2,q2 wO2,q2 wO2 qN"lt_or_le"gK3 hN1}, +#define Tt2 {hN wP2,q2 wP2,q2 wP2 qN"lt_or_ne"gK3 dJ1 +#define Ut2 {1,N(-1.0,0.0),N(1.0,0.0)oZ1 qM,q2 Lthalf,q2 Lthalf,gD"lthalf","x "h23 +#define Sz2 {hN Not_le,q2 Not_le,q2 Not_le qN"not_le",o6 dN3 h23 +#define Tz2 {hN Not_lt,q2 Not_lt,q2 Not_lt qN"not_lt",o6 dH3 h23 +#define Uz2 {hN Not_ne,q2 Not_ne,q2 Not_ne qN"not_ne",o6 dI3 h23 +#define Wz2 {2,gE Notnot,q2 Notnot,q2 Notnot qN"notnot","!!x + if(y, 1,0"o02 +#define Yz2 {1,h9 Posnot,q2 Posnot,gD"posnot","!(sin(x) + 1.2"o02 +#define S_2 {1,h9 Posnotnot,q2 Posnotnot,gD"posnotnot","!!(sin(x) + 1.2"o02 +#define T_2 {1 oZ1,N(1.0,0.0)oZ1 qM,q2 Powimmaddimmlog,q2 Powimmaddimmlog mJ1"immaddimmlog","pow(5, log(x)+1"o02 +#define U_2 {1 oZ1,qE2 oZ1 qM,q2 Powimmlog,q2 Powimmlog mJ1"immlog","pow(3, log(x)) + pow(5, log(x)*sin(x))"}, +#define W_2 {hM Powmulimm_fnen,q2 Powmulimm_fnen dW dE1"mulimm_fnen",o01"^(-8"o02 +#define Y_2 {2,dT Powmulimm_fnep,q2 Powmulimm_fnep dW dE1"mulimm_fnep",o01"^(4"o02 +#define S03 {1,N(-3.0,0.0),N(-1.0,0.0)gE1 q2 Powmulimm_fnfn,q2 Powmulimm_fnfn mJ1"mulimm_fnfn","((-5.1)*x)^(-7.1"o02 +#define T03 {2,dT Powmulimm_fnfp,q2 Powmulimm_fnfp dW dE1"mulimm_fnfp",o01"^7.1"}, +#define U03 {2,dT Powmulimm_fpfp,q2 Powmulimm_fpfp dW dE1"mulimm_fpfp","(5.1*x*y)^7.1"}, +#define W03 {1,h9 Sub1cos2,q2 Sub1cos2,gD"sub1cos2","1-cos(x)^2"}, +#define Y03 {1,h9 Sub1sin2,q2 Sub1sin2,gD"sub1sin2","1-"q42"^2"}, +#define S13 {1,N(-9.42477796076937971538793014983850865259,0.0),N(9.42477796076937971538793014983850865259,0.0),N(0.785398163397448309615660845819875721049292349,0.0)qM,q2 Trig_modulo,q2 Trig_modulo,gD"trig_modulo","cos(x+pi"qE1"2/3"qE1"5/2"qE1"6/2"qE1 dK3" "o11")"wI1"2/3)"wI1"5/2)"wI1"6/2)"wI1 dK3" cos(x-pi) +"dF1"2/3) +"dF1"5/2) +"dF1"6/2) +"dF1 dK3 o21")"q63"2/3)"q63"5/2)"q63"6/2)"q63"7/2"o02 +#define T13 {1,N(-3.0,0.0),N(3.0,0.0)oZ1 qM,q2 Trunc_from_if,q2 Trunc_from_if,gD"trunc_from_if",o6">0, "hL3 d32">=0, "hL3 d32"<0, "hJ3 d32"<=0, "hJ3 qS2">0, "hJ3 qS2">=0, "hJ3 qS2"<0, "hL3" 10*"o6"<=0, floor(x),ceil"g51 +#define U13 {1,N(-5.0,0.0),N(5.0,0.0),N(1.0,0.0)qM gJ2 gJ2 gJ2,"x"q6"/xaddnot","!(x+if(1,4,4))"}, +#define W13 {1,N(-5.0,0.0),N(5.0,0.0),gL2 mH1 q2 mH1 q2 mH1"x"q6"/xaddnotnot","!!(x+if(1,4,4))"}, #define N(x) (x) #define P(x) N(x##.0) namespace @@ -1928,11 +1961,11 @@ cpp_01unit_operators{using namespace FUNCTIONPARSERTYPES;q3 Add_cd -aC2 +aJ2 Add_d -aC2 +aJ2 Add_i -aC2 +aJ2 Addsub_cd qU1 Addsub_d @@ -1940,3839 +1973,3865 @@ qU1 Addsub_i qU1 And_d -qO -qK2>=gW2?fp_abs(y)>=gW2:dT2 +qL +oJ1>=gD2)?fp_abs(y)>=gD2):aK2 And_i -qO -x!=oF2?y!=oF2:q0 -hY2 +qL +x!=gM2?y!=gM2:gF2 Cmpeq_cd -qO -x==mD1 +qL +x==mB1 Cmpeq_d -qO -x==mD1 +qL +x==mB1 Cmpeq_i -qO -x==mD1 +qL +x==mB1 Cmpge_d -qO -x>=mD1 +qL +x>=mB1 Cmpge_i -qO -x>=mD1 +qL +x>=mB1 Cmpgt_d -qO -x>mD1 +qL +x>mB1 Cmpgt_i -qO -x>mD1 +qL +x>mB1 Cmple_d -qO -x<=mD1 +qL +x<=mB1 Cmple_i -qO -x<=mD1 +qL +x<=mB1 Cmplt_d -qO -x=q0(0.5l -qU +qW +oJ1>=gD2 +qP Notnot_i -qT -q0(x!=dT2 +qW +q0(x!=aK2 Or_d -qO -qK2=gW2:q0(1l -qU +qL +oJ1=gD2):q0(1l +qP Or_i -qO -x==oF2?y!=oF2:dI1;} +qL +x==gM2?y!=gM2:q0(1l);} q3 Sub_cd -qO -x-mD1 +qL +x-mB1 Sub_d -qO -x-mD1 +qL +x-mB1 Sub_i -qO -x-y -qT3 +qL +x-y;} +} +namespace cpp_02unit_functions{using namespace FUNCTIONPARSERTYPES;q3 Abs_cd -qT -std::abs(aU +qW +std::abs(wA Abs_d -qT -x0.0?exp(log(x)/3.0):0.0);} q3 Ceil -qT -ceil(aU +qW +ceil(wA Conj -qT -fp_conj(aU +qW +fp_conj(wA Cos -qT -cos(aU +qW +cos(wA Cos_deg -qT -cos(m01 +qW +cos(aQ1 Cosh -qT -cosh(aU +qW +cosh(wA Cosh_deg -qT -cosh(m01 +qW +cosh(aQ1 Exp -qT -exp(aU +qW +exp(wA Exp2 -qT -exp(x*fp_const_log2(qU +qW +exp(x*fp_const_log2(qP Floor -qT -floor(aU +qW +floor(wA Hypot -qO +qL sqrt(x*x+y*y);} q3 If_d -hB -fp_abs(x)>=gW2?y:z;} +hJ +fp_abs(x)>=gD2)?y:z;} q3 If_i -hB(x!=oF2)?y:z;} +hJ(x!=gM2)?y:z;} q3 Imag -qT -fp_imag(aU +qW +fp_imag(wA Int -qT -fp_floor(x+q0(0.5l -qU +qW +fp_floor(x+gD2 +qP Log -qT -log(aU +qW +log(wA Log2 -qT +qW log(x)*1.4426950408889634073599246810018921374266;} q3 Log10 -qT +qW log(x)*0.43429448190325182765112891891660508229;} q3 Log_cd -qT -std::log(aU +qW +std::log(wA Max -qO -x>y?x:mD1 +qL +x>y?x:mB1 Min -qO -x((b0[0]=(fp_greaterOrEq(oW -4l))),b0[1]=(fp_greaterOrEq(oW +userDefFuncSub((b0[0]=(fp_greaterOrEq(fp_abs(x),dM),b0[1]=(fp_greaterOrEq(w0 0l))),b0 -qU -mG2(qD;q0 +qP +mQ2(qD;q0 b1[2]qA -userDefFuncSub((b1[0]=(fp_less(oW -4l))),b1[1]=(fp_less(oW +userDefFuncSub((b1[0]=(fp_less(fp_abs(x),dM),b1[1]=(fp_less(w0 0l))),b1 -qU +qP Abssqr -qT +qW x*x;} q3 Absyxpow_neg -g52 -qW-4.0),1.5);} +qW +fp_pow(qO-4.0),1.5);} q3 Absyxpow_pos -g52 qW +fp_pow(qO 4.0),1.5);} q3 Acos -qT -acos(0.7)dT1 +qW +acos(0.7 +hY1 Acos_deg -dY1 -acos(0.7))dT1 +wF1 +acos(0.7)hY1 Acosh -qT -mC -1.1-1.0))dT1 +qW +m9 +1.1-1.0)hY1 Acosh_deg -dY1 -mC -1.1-1.0)))dT1 +wF1 +m9 +1.1-1.0))hY1 Acoshcosh -qT -aD2 +qW +aO2 fp_acosh(x -qU +qP Acoshsinh -qT +qW fp_sinh(fp_acosh(x -qU +qP Add -qT -wV1+g13 -dT1 +qW +q0(5l +gC1 +3l +hY1 Add0 -qT -x+oF2 -dT1 +qW +x+q0(0l +hY1 Addexp -qT -fp_exp(x+q0(4l -qU +qW +gO3+dL1 Addexp2 -qT -g73 -x+q0(4l -qU +qW +fp_exp2(x+dL1 And -qT -fp_and -hW1+fp_and(wV1,oF2)+fp_and(oF2,wV1)+fp_and(oF2,dT2 +qW +fp_and(q0(hS1+fp_and(d01,gM2)+fp_and(gM2,d01)+fp_and(gM2,aK2 Asin -qT -asin(0.7)dT1 +qW +asin(0.7 +hY1 Asin_deg -dY1 -asin(0.7))dT1 +wF1 +asin(0.7)hY1 Asinh -qT -mC -1.1+1.0))dT1 +qW +m9 +1.1+1.0)hY1 Asinh_deg -dY1 -mC -1.1+1.0)))dT1 +wF1 +m9 +1.1+1.0))hY1 Asinhcosh -qT -aD2 +qW +aO2 fp_asinh(x -qU +qP Asinhsinh -qT +qW fp_sinh(fp_asinh(x -qU +qP Atan -qT -atan -dX2 +qW +atan(1.1 +hY1 Atan2 -qT -atan2(5.0,4.0)dT1 +qW +atan2(5.0,4.0 +hY1 Atan2_deg -dY1 -atan2(5.0,4.0))dT1 +wF1 +atan2(5.0,4.0)hY1 Atan2tan -qO -dM2 -qG2 +qL +dD2 +q82 x,y -qU +qP Atan_deg -dY1 -atan(1.1))dT1 +wF1 +atan(1.1)hY1 Atanh -qT +qW log((1.0+0.7)/(1.0-0.7))*0.5+x;} q3 Cbrt -qT -exp(log(1.1)/3.0)dT1 +qW +exp(qX3)/3.0 +hY1 Ceil -qT -ceil -dX2 +qW +ceil(1.1 +hY1 Ceilneg -qT -fp_ceil(-aU -Cmp_acos(qP -hK -qM +qW +fp_ceil(-wA +Cmp_acos(qT +hH))qU +hH))qQ +hH))qR +hH))qS +hH +qF +hH +qP +Cmp_acos_outrange(qT +gA1 +qU +gA1 +qQ +gA1 +qR +gA1 +qS +oP +2l +qF +oP +2l +qP +q93(qT(gN3 +qU(gN3 +qQ(gN3 +qR(gN3 +qS(q0(dK +qF(q0(dK +qP +Cmp_asin(qT +hK))qU +hK))qQ hK))qR hK))qS -hK))qQ hK qF hK +qP +Cmp_asin_outrange(qT +aP2 qU -Cmp_acos_outrange(qP -dJ2 -qM -qW1 -gX)qR -qW1 -gX)qS -qW1 -gX)qQ -dJ2 -qF -dJ2 -qU -mW2(qP(q0(dG -qM(q0(dG))qR(q0(dG))qS(q0(dG))qQ(q0(dG -qF(q0(dG -qU -Cmp_asin(qP -hL -qM -hL))qR -hL))qS -hL))qQ -hL -qF -hL -qU -Cmp_asin_outrange(qP -dK2 -qM -gI3 +aP2 +qQ +aP2 qR -gI3 +aP2 qS -gI3 -qQ -dK2 +qV1 +q0(2l qF -dK2 -qU -Cmp_atan(qP -dH -qM -dH))qR -dH))qS -dH))qQ -dH +qV1 +q0(2l +qP +Cmp_atan(qT +dL))qU +dL))qQ +dL))qR +dL))qS +dL qF -dH -qU -Cmp_exp(qP -o6 -qM -o6))qR -o6))qS -o6))qQ -o6 +dL +qP +Cmp_exp(qT +oD))qU +oD))qQ +oD))qR +oD))qS +oD qF -o6 -qU -Cmp_exp2(qP -dI -qM -dI))qR -dI))qS -dI))qQ -dI -qF -dI -qU -Cmp_exp2_neg(qP -oT -qM -oT))qR -oT))qS -oT))qQ -oT +oD +qP +Cmp_exp2(qT +dN))qU +dN))qQ +dN))qR +dN))qS +dN qF -oT +dN +qP +Cmp_exp2_neg(qT +mH +dM qU -Cmp_exp_neg(qP -w4 -qM -w4))qR -w4))qS -w4))qQ -w4 -qF -w4 +mH +dM +qQ +mH +dM +qR +mH +dM +qS +mH +dK1 +mH +dL1 +Cmp_exp_neg(qT +qW1 +dM qU -Cmp_log2_nn(qP -hC -mK -qM -hC -wH1 +qW1 +dM +qQ +qW1 +dM qR -hC -wH1 +qW1 +dM qS -hC -wH1 +qW1 +dK1 +qW1 +dL1 +Cmp_log2_nn(qT +h8 +hR1 +qU +h8 +hR1 qQ -hC -mK +h8 +hR1 +qR +h8 +hR1 +qS +h8 +oB1 qF -hC -mK -qU -Cmp_log2_np(qP -hC -m11 -qM -hC -m11))qR -hC -m11))qS -hC -m11))qQ -hC -m11 +h8 +oB1 +qP +Cmp_log2_np(qT +h8 +aR1))qU +h8 +aR1))qQ +h8 +aR1))qR +h8 +aR1))qS +h8 +aR1 qF -hC -m11 +h8 +aR1 +qP +Cmp_log2_pn(qT +h8 +aS1 qU -Cmp_log2_pn(qP -hC -mU1 -hC -gF2 +h8 +aS1 +qQ +h8 +aS1 qR -hC -gF2 +h8 +aS1 qS -hC -gF2 -qQ -hC -gG2 +h8 +aT1 qF -hC -gG2 +h8 +aT1 +qP +Cmp_log2_pp(qT +h8 +aU1 qU -Cmp_log2_pp(qP -hC -gH2 -qM -hC -gH2))qR -hC -gH2))qS -hC -gH2))qQ -hC -gH2 +h8 +aU1 +qQ +h8 +aU1 +qR +h8 +aU1 +qS +h8 +gB +h8 +gL qF -hC -gH2 +h8 +gB +h8 +gL +qP +Cmp_log10_nn(qT +gU +hR1 qU -Cmp_log10_nn(qP -h1 -mK -qM -h1 -wH1 +gU +hR1 +qQ +gU +hR1 qR -h1 -wH1 +gU +hR1 qS -h1 -wH1 -qQ -h1 -mK +gU +oB1 qF -h1 -mK -qU -Cmp_log10_np(qP -h1 -m21 -qM -h1 -m21))qR -h1 -m21))qS -h1 -m21))qQ -h1 -m21 +gU +oB1 +qP +Cmp_log10_np(qT +gU +aV1))qU +gU +aV1))qQ +gU +aV1))qR +gU +aV1))qS +gU +aV1 qF -h1 -m21 -qU -Cmp_log10_pn(qP -h1 -mU1 -h1 -gF2 +gU +aV1 +qP +Cmp_log10_pn(qT +gU +aS1 +qU +gU +aS1 +qQ +gU +aS1 qR -h1 -gF2 +gU +aS1 qS -h1 -gF2 -qQ -h1 -gG2 +gU +aT1 qF -h1 -gG2 +gU +aT1 +qP +Cmp_log10_pp(qT +gU +gB +gU +gZ2 qU -Cmp_log10_pp(qP -h1 -gI2 -qM -h1 -gI2))qR -h1 -gI2))qS -h1 -gI2))qQ -h1 -gI2 -qF -h1 -gI2 +gU +gB +gU +gZ2 +qQ +gU +gB +gU +gZ2 +qR +gU +gB +gU +gZ2 +qS +gU +gB +gU +q0(1l)qF +gU +gB +gU +q0(1l)qP +Cmp_log_nn(qT +hP +hR1 qU -Cmp_log_nn(qP hP -mK -qM +hR1 +qQ hP -wH1 +hR1 qR hP -wH1 +hR1 qS hP -wH1 -qQ -hP -mK +oB1 qF hP -mK -qU -Cmp_log_np(qP +oB1 +qP +Cmp_log_np(qT hP -x)aE2 -qM +aW1 +qU hP -x)aE2))qR +aW1 +qQ hP -x)aE2))qS +aW1 +qR hP -x)aE2))qQ +aW1 +qS hP -x)aE2 +x),hP +gL qF hP -x)aE2 +x),hP +gL +qP +Cmp_log_pn(qT +hP +aS1 qU -Cmp_log_pn(qP hP -mU1 +aS1 +qQ hP -gF2 +aS1 qR hP -gF2 +aS1 qS hP -gF2 -qQ -hP -gG2 +aT1 qF hP -gG2 -qU -Cmp_log_pp(qP +aT1 +qP +Cmp_log_pp(qT hP -gJ2 -qM +gB +hP +gL))qU +hP +gB +hP +gL))qQ +hP +gB hP -gJ2))qR +gL))qR hP -gJ2))qS +gB +hP +gL))qS hP -gJ2))qQ +gB hP -gJ2 +gL qF hP -gJ2 -qU -gB2(qP(x -o7 -qM(x -o7))qR(x -o7))qS(x -o7))qQ(x -o7 -qF(x -o7 -qU -gD2(qP(x -o8 -qM(x -o8))qR(x -o8))qS(x -o8))qQ(x -o8 -qF(x -o8 -qU -mX2(qP(-x),aF2(-x),aG2 -qR(-x),aG2 -qS(-x),aG2 -qQ(-x),aH2(-x)qC2 -Cmp_powx_n_n(qP -aM2 -qM -aM2))qR -aM2))qS -aM2))qQ -aM2 +gB +hP +gL +qP +qV2(qT(x +a6 +dM +qU(x +a6 +dM +qQ(x +a6 +dM +qR(x +a6 +dM +qS(x +a6 +dK1(x +a6 +dL1 +qY2(qT(x +a7 +dM +qU(x +a7 +dM +qQ(x +a7 +dM +qR(x +a7 +dM +qS(x +a7 +dK1(x +a7 +dL1 +qC3(qT(-x),dM +qU(-x),dM +qQ(-x),dM +qR(-x),dM +qS(-x),dK1(-x),dL1 +Cmp_powx_n_n(qT +oE))qU +oE))qQ +oE))qR +oE))qS +oE qF -aM2 +oE +qP +Cmp_powx_n_p(qT +aX1 qU -Cmp_powx_n_p(qP -aJ2 -qM -aJ2))qR -aJ2))qS -aJ2))qQ -aJ2 +aX1 +qQ +aX1 +qR +aX1 +qS +oB2 +hI qF -aJ2 +oB2 +hI +qP +Cmp_powx_nn(qT +oB2),-dM qU -Cmp_powx_nn(qP -o9-aF2 -o9-aG2 +oB2),-dM +qQ +oB2),-dM qR -o9-aG2 +oB2),-dM qS -o9-aG2 -qQ -o9-aH2 -o9-q0(4l +oB2),-dK1 +oB2),-dL1 +Cmp_powx_np(qT +oB2),dM qU -Cmp_powx_np(qP -o9 -aF2 -o9 -aG2 +oB2),dM +qQ +oB2),dM qR -o9 -aG2 +oB2),dM qS -o9 -aG2 +oB2),dK1 +oB2),dL1 +Cmp_powx_p_n +o22 +dO))qU +oC2 qQ -o9 -aH2 -o9 -q0(4l -qU -Cmp_powx_p_n(qP -aK2 -qM -aK2))qR -aK2))qS -aK2))qQ -aK2 -qF -aK2 -qU -Cmp_powx_p_p(qP -aL2 -qM -aL2))qR -aL2))qS -aL2))qQ -aL2 -qF -aL2 -qU -Cmp_powx_pn(qP -hR1 -qM -hR1))qR -hR1))qS -hR1))qQ -hR1 -qF -hR1 -qU -Cmp_powx_pp(qP -hT1 -qM -hT1))qR -hT1))qS -hT1))qQ -hT1 +oC2 +qR +oC2 +h02 +dO qF -hT1 -qU -Cmp_powy_n_n(qP -qW-hU -qM -qW-hU))qR -qW-hU))qS -qW-hU))qQ -qW-hU +qI +gC +dO +qP +Cmp_powx_p_p +o22 +oC1))qU +qI +gC +oC1))qQ +qI +gC +oC1))qR +qI +gC +oC1))h02 +oC1 qF -qW-hU +qI +gC +oC1 +qP +Cmp_powx_pn +o22),-dM qU -Cmp_powy_n_p(qP -qW-hV -qM -qW-hV))qR -qW-hV))qS -qW-hV))qQ -qW-hV -qF -qW-hV +qI +gC),-dM +qQ +qI +gC),-dM +qR +qI +gC),-dM +h02),-dK1 +qI +gC),-dL1 +Cmp_powx_pp +o22),dM qU -Cmp_powy_nn(qP -qW-aQ -qM -qW-aQ))qR -qW-aQ))qS -qW-aQ))qQ -qW-aQ +qI +gC),dM +qQ +qI +gC),dM +qR +qI +gC),dM +h02),dK1 +qI +gC),dL1 +Cmp_powy_n_n +o62-hU))qU +gT3 +qQ +gT3 +qR +gT3 +qS +qO-hU qF -qW-aQ -qU -Cmp_powy_np(qP -qW-aR -qM -qW-aR))qR -qW-aR))qS -qW-aR))qQ -qW-aR +qO-hU +qP +Cmp_powy_n_p +o62-hV))qU +qO-hV))qQ +qO-hV))qR +qO-hV))qS +qO-hV qF -qW-aR -qU -Cmp_powy_p_n(qP -qW -hU -qM -qW +qO-hV +qP +Cmp_powy_nn +o62-gG-oD2-gG-oI2-gG-oJ2-gG-oK2-gG-dK1 +qO-gG-dL1 +Cmp_powy_np +o62-gG +oD2-gG +oI2-gG +oJ2-gG +oK2-gG +dK1 +qO-gG +dL1 +Cmp_powy_p_n +o62 +hU))qU +qO +hU))qQ +qO hU))qR -qW +qO hU))qS -qW -hU))qQ -qW +qO hU qF -qW +qO hU -qU -Cmp_powy_p_p(qP -qW -hV -qM -qW +qP +Cmp_powy_p_p +o62 +hV))qU +qO +hV))qQ +qO hV))qR -qW +qO hV))qS -qW -hV))qQ -qW +qO hV qF -qW +qO hV -qU -Cmp_powy_pn(qP -qW -aQ -qM -qW -aQ))qR -qW -aQ))qS -qW -aQ))qQ -qW -aQ -qF -qW -aQ -qU -Cmp_powy_pp(qP -qW -aR -qM -qW -aR))qR -qW -aR))qS -qW -aR))qQ -qW -aR -qF -qW -aR -qU -Cmp_sinh(qP -dJ -qM -dJ))qR -dJ))qS -dJ))qQ -dJ +qP +Cmp_powy_pn +o62 +gG-oD2 +gG-oI2 +gG-oJ2 +gG-oK2 +gG-dK1 +qO +gG-dL1 +Cmp_powy_pp +o62 +gG +oD2 +gG +oI2 +gG +oJ2 +gG +oK2 +gG +dK1 +qO +gG +dL1 +Cmp_sinh(qT +dQ))qU +dQ))qQ +dQ))qR +dQ))qS +dQ qF -dJ -qU -mY2(qP(qY1 -qM(qY1))qR(qY1))qS(qY1))qQ(qY1 +dQ +qP +qD3(qT(qX1))qU(qX1))qQ(qX1))qR(qX1))qS(qX1 +qF(qX1 +qP +mN1(qT(qY1))qU(qY1))qQ(qY1))qR(qY1))+-q0(16l)*fp_greaterOrEq((qY1 qF(qY1 -qU -mR1(qP(qZ1 -qM(qZ1))qR(qZ1))qS(qZ1))+-q0(16l)*fp_greaterOrEq((qZ1 -qF(qZ1 -qU -Cmp_tanh(qP -hM -qM -hM))qR -hM))qS -hM))qQ -hM +qP +Cmp_tanh(qT +hL))qU +hL))qQ +hL))qR +hL))qS +hL qF -hM +hL +qP +Cmp_tanh_outrange(qT +aQ2 qU -Cmp_tanh_outrange(qP -dL2 -qM -qB3 +aQ2 +qQ +aQ2 qR -qB3 +aQ2 qS -qB3 -qQ -dL2 +qZ1 +q0(2l qF -dL2 -qU +qZ1 +q0(2l +qP Cmpeq -qT -fp_equal -hW1+qB2 -q0(4l)qC2 +qW +fp_equal(q0(hS1+fp_equal(h22,dL1 Cmpge -qT -qK1 -3l),wV1)+x+qK1 -8l)qC2 +qW +qH1 +3l),d01)+x+qH1 +8l),dL1 Cmpgt -qT -fp_less(g13,wV1)+x -o12 -q0(8l)qC2 +qW +mS1 +3l),d01)+x+mS1 +8l),dL1 Cmple -qT -qK1 -5l),g13)+x+qK1 +qW +qH1 +hS1+qH1 4l),q0(8l -qU +qP Cmplt -qT -fp_less -hW1;} +qW +mS1 +hS1;} q3 Cmpne -qT -fp_nequal -hW1+fp_nequal(q0(4l)qC2 +dO1 +q0(hS1+fp_nequal(h22,dL1 Cos -qT -cos -dX2 +qW +cos(1.1 +hY1 Cos_deg -qT +qW cos -gZ3 +gE2 Cosh -qT -cosh -dX2 +qW +cosh(1.1 +hY1 Cosh_deg -qT +qW cosh -gZ3 +gE2 Deg -qO -r2d(y)+r2d(x)+r2d(y)*q0(4l);} +qL +r2d(y)+r2d(x)+r2d(y)*h22;} q3 Degxmul -dY1 -gD1))*gX;} +wF1 +gB1))*gL;} q3 Div -qT(wV1/aG2 -dT1 +qW(d01/dM+x;} +q3 Div1 -qT -x/dI1 -dT1 +qW +x/q0(1l +hY1 Divxx -qT -x+x/x -dT1 -qP2 -qT +qW +x+x/x+x;} +q3 +qF2 +qW x*q0(14l);} q3 Dupaddmulh -qT +qW x;} q3 Dupaddmulmul7 -qO +qL y*x*q0(14l);} q3 Dupaddmulmulh -qO +qL y*x;} q3 -hG2(qD;q0 +hC2(qD;q0 b2[2]qA userDefFuncSub((b2[0]=(fp_min(x,x)),b2[1]=(fp_max(x,x)),b2 -qU -qQ2(qD;q0 +qP +qG2(qD;q0 b3[2]qA userDefFuncSub((b3[0]=(x -gP2 +g63 x)),b3[1]=(x+fp_max(x,x)),b3 -qU -qR2(qD,qZ3 +qP +qH2(qD,&y +oR2;q0 b4[2]qA userDefFuncSub((b4[0]=(fp_min(y,x)),b4[1]=(fp_max(y,x)),b4 -qU -qS2 -qT -x*d21 +qP +qI2 +qW +x +hT1 Dupxpowmul -qT qW -q0(4l -qU +qO +dL1 Eq0 -qT -qB2 -x,q0(0l -qL2 -aU +qW +fp_equal(x,q0(0l +mC1 +wA Eq1 -qT -qB2 -fp_not(x),q0(1l -qU +qW +fp_equal(fp_not(x),q0(1l +qP Exp -qT -exp -dX2 +qW +exp(1.1 +hY1 Exp2 -qT -exp(1.1*0.693147180559945309417232121458176568075500134)dT1 +qW +exp(1.1*0.693147180559945309417232121458176568075500134 +hY1 Exp2div -qO -x/g73 -y);} +qL +x/fp_exp2(y);} q3 Exp2log2 -qT -hC -g73 -x -qU +qW +h8 +fp_exp2(x +qP Exp2xpow -g52 -g73 -x),1506.0);} +qW +fp_pow(fp_exp2(x),1506.0);} q3 Expdiv -qO +qL x/fp_exp(y);} q3 Explog -qT +qW hP -fp_exp(x -qU +gO3 +qP Explog2 -qT +qW x/fp_const_log2();} q3 Explog10 -qT +qW x/fp_const_log10();} q3 Expxpow -g52 -fp_exp(x),1506.0);} +qW +fp_pow +dH2 +x),1506.0);} q3 Floor -qT -floor -dX2 +qW +floor(1.1 +hY1 Floorneg -qT -fp_floor(-aU -mZ2 -wA -oW -0l -dO2 -fp_abs(x))qR -oW -0l -gK2 -d61 +qW +fp_floor(-wA +qE3 +aV +w0 +0l))+qV3 +fp_abs(x))qQ +w0 +0l)qW3 +d51 Ge0_neg -wA -oX -0l -dO2 -m91))qR -oX -0l -gK2 -m91 -qU +aV +w1 +0l))+qV3 +aY1))qQ +w1 +0l)qW3 +aY1 +qP Ge0_pos -wA -mP -dO2 -gD1))qR -mP -gK2 -gD1 -qU -q03 -wA -oW -1l))+qC3 -fp_abs(x))qR -oW -1l -gL2 -d61 +aV +oP +0l))+qV3 +gB1))qQ +oP +0l)qW3 +gB1 +qP +qF3 +aV +w0 +aZ1 +fp_abs(x))qQ +w0 +g12 +d51 Ge1_neg -wA -oX -1l))+qC3 -m91))qR -oX -1l -gL2 -m91 -qU +aV +w1 +aZ1 +aY1))qQ +w1 +g12 +aY1 +qP Ge1_pos -wA -qW1 -dI1)+qC3 -gD1))qR -qW1 -q0(1l -gL2 -gD1 -qU +aV +oP +aZ1 +gB1))qQ +oP +g12 +gB1 +qP Gehalf -qT -hY,q0(0.5l -qU -q13 -qT -g11 -oW -0l -gM2 -fp_abs -dR -oW -0l))gN2 -d61 +qW +hX,gD2 +qP +qG3 +qW +g01 +w0 +oD1 +fp_abs(w2(w0 +oE1 +d51 Gt0_neg -qT -g11 -oX -0l -gM2 -fp_sin -dR -oX -0l))gN2 -m91 -qU +qW +g01 +w1 +oD1 +fp_sin(w2(w1 +oE1 +aY1 +qP Gt0_pos -qT -g11 -mP -gM2 -fp_acos -dR -mP))gN2 -gD1 -qU -q23 -qT -g11 -oW -gO2 -fp_abs -dR -oW -1l))qS -dI1,d61 +qW +g01 +oP +oD1 +fp_acos(w2(oP +oE1 +gB1 +qP +qH3 +qW +g01 +w0 +g22 +fp_abs(w2(w0 +g32 +d51 Gt1_neg -qT -g11 -oX -gO2 -fp_sin -dR -oX -1l))qS -dI1,m91 -qU +qW +g01 +w1 +g22 +fp_sin(w2(w1 +g32 +aY1 +qP Gt1_pos -qT -g11 -qW1 -q0(gO2 -fp_acos -dR -qW1 -dI1)qS -dI1,gD1 -qU +qW +g01 +oP +g22 +fp_acos(w2(oP +g32 +gB1 +qP Gtminushalf -qT -oG,-q0(0.5l -qU +qW +oI,-gD2 +qP Hypot -qT -sqrt(5.0*5.0+4.0*4.0)dT1 +qW +sqrt(5.0*5.0+4.0*4.0 +hY1 Immsub -qT -x-d21 +qW +x-d01;} +q3 Int -qT -x+(((((hX1 -1.1l))-hX1 -1.6l)))-hX1 -1.5l)))-hX1-1.1l)))-hX1-1.6l)))-hX1-1.5l)qU +qW +x+(((((hV1 +1.1l +mA2 +1.6l)mA2 +1.5l)mA2-1.1l)mA2-1.6l)mA2-1.5l)qP Intceil -qT -fp_ceil -mA1 +qW +fp_ceil(oI,h12 Intfloor -qT -fp_floor -mA1 +qW +fp_floor(oI,h12 Intint -qT -fp_int -mA1 +qW +fp_int(oI,h12 Inttrunc -qT -fp_trunc -mA1 +qW +fp_trunc(oI,h12 Invdiv -qO -y/(dI1/aU +qL +y/(g42 +wA Invinv -qT -dI1/(dI1/aU +qW +g42(g42 +wA Invmul -qO -y*(dI1/aU +qL +y*(g42 +wA Leminushalf -qT -dU,-q0(0.5l -qU +qW +o4,-gD2 +qP Log -qT -log -dX2 +qW +qX3 +hY1 Log2 -qT -log(1.1)*1.4426950408889634073599246810018921374266+x;} +qW +qX3)*1.4426950408889634073599246810018921374266+x;} q3 Log2exp1 -qT -fp_exp(hC +qW +fp_exp(h8 x -qU +qP Log2exp2 -qT -g73 -hC -gD1)qU +qW +fp_exp2(h8 +gB1)qP Log10 -qT -log(1.1)*0.43429448190325182765112891891660508229+x;} +qW +qX3)*0.43429448190325182765112891891660508229+x;} q3 Logexp1 -qT +qW fp_exp(hP x -qU +qP Logexp2 -qT +qW fp_exp(hP -gD1)qU +gB1)qP Logmul -qT +qW hP m4 Logmul2 -qT -hC +qW +h8 m4 Logmul10 -qT -h1 +qW +gU m4 Lt0 -qT -fp_less(fp_abs(x),x-x)-aT,x-aU +qC2 +fp_abs(x),x-x)-aX,x-wA Lthalf -qT -aT,q0(0.5l -qU +qW +aX,gD2 +qP Max -qT -wV1 -dT1 +qW +q0(5l +hY1 Min -qT -q0(4l)dT1 +qW +q0(4l +hY1 Mod -qT -fp_mod(wV1,aG2 -dT1 +qW +fp_mod(d01,dM+x;} +q3 Mul -qT(wV1*aG2 -dT1 +qW(d01*dM+x;} +q3 Mul1 -qT -x*dI1 -dT1 +qW +x*q0(1l +hY1 Mul1b -qT((x*q0(0.2l))*wV1)dT1 +qW((x*q0(0.2l))*d01 +hY1 Mul2 -qT -x -dT1 +qW +x+x;} +q3 Mul4 -qO -y*(x*gX)*gX+(y*gX)*gX;} +qL +y*(x*gL)*gL+(y*gL)*gL;} q3 Mul_zero -qO(x*y+dI1)+(m91)+mB2 -y))*hP -x)*y*x*q0 -hY2 +qL(x*y+q0(1l))+(aY1)+fp_sin(y))*hP +x)*y*x*gF2 Mulminus1 -qT +qW x*-1.0;} q3 Mulneg -qT-(x*h82 -a32 -qT -x/q0(4l)dT1 +qW-(x +g52 +a82 +qW +x/q0(4l +hY1 Neg -qT((-((5.0))))dT1 +qW((-((5.0)))hY1 Negabs -qT -fp_abs(-aU +qW +fp_abs(-wA Negadd -qO +qL x+(-y);} q3 Negceil -qT-fp_ceil(aU +qW-fp_ceil(wA Negcos -qT -fp_cos(-aU +qW +gH3-wA Negcosh -qT -aD2-aU +qW +aO2-wA Negdiv -qT(-x)/d21 +qW(-x)/d01;} +q3 Negfloor -qT-fp_floor(aU +qW-fp_floor(wA Negmul -qT(-x)*d21 +qW(-x)hT1 Negneg -qT-(-(-(-(-(-(x))))qU +qW-(-(-(-(-(-(x))))qP Negnot -g42-aU +g62-wA Negsin -qT -mB2-aU +qW +fp_sin(-wA Negsinh -qT -fp_sinh(-aU +qW +fp_sinh(-wA Negsqr -qT +qW x*x;} q3 Negsub -qO +qL x-(-y);} q3 Negtan -qT -dM2-aU +qW +dD2-wA Negtanh -qT -fp_tanh(-aU +qW +fp_tanh(-wA Neq0 -qT(oY,oF2))+(fp_nequal(oF2,x -qU +qW(w3,gM2))+(fp_nequal(gM2,x +qP Neq1 -mK1 +dO1 fp_not(x),q0(1l -qU +qP Not -g42 -g13)dT1 +g62 +q0(3l)hY1 Not_eq -qO -x!=mD1 +qL +x!=mB1 Not_ge -qO -xmD1 +qL +x>mB1 Not_lt -qO -x>=mD1 +qL +x>=mB1 Not_ne -qO -x==mD1 +qL +x==mB1 Notnot -qT -fp_notNot(aU -hH2 -g42 -aU -qT2 -g42 -aU +qW +fp_notNot(wA +hD2 +g62 +wA +qJ2 +g62 +wA Or -qT -fp_or -hW1 -qD3 -wV1,oF2)qD3 -oF2,wV1)qD3 -oF2,dT2 +qW +fp_or(q0(hS1+fp_or(d01,gM2)+fp_or(gM2,d01)+fp_or(gM2,aK2 Pow_neg -qT -pow(-0.25,4.0)dT1 +qW +pow(-0.25,4.0 +hY1 Pow_pos -qT -pow(1.1,7.1)dT1 +qW +pow(1.1,7.1 +hY1 Powdiv -qO -x/qW +qL +x/qO y);} q3 Powhalf -qT qW -q0(0.5l -qU +qO +gD2 +qP Powinv +qL +g42 qO -dI1/qW y);} q3 Powminushalf -qT -qW-q0(0.5l -qU +qW +qO-gD2 +qP Powminusone -qT -qW-q0(1.0l -qU +qW +qO-q0(1.0l +qP Powminusthird -qT -qW(q0(-1.0l)/q0(3.0l)qU +qW +qO(q0(-1.0l)/q0(3.0l)qP Powthird -qT -qW(mF/q0(3.0l)qU +qW +qO(a0/q0(3.0l)qP Powxpow -g52 qW +fp_pow(qO 1.7),1506.0);} q3 Rad -qO -d2r(y)+d2r(x)+d2r(x)*q0(4l);} +qL +d2r(y)+d2r(x)+d2r(x)*h22;} q3 Radxmul -qT -fp_cos(d2r(x+x+x+x -qU +qW +gH3 +d2r(x+x+x+x +qP Rsqrt -qT -1.0/h72 -aU +qW +1.0/h32 +wA Sin -qT -sin -dX2 +qW +sin(1.1 +hY1 Sin_deg -qT +qW sin -gZ3 +gE2 Sincos_cci -qT -mE)+dI1/fp_cos(aU +qW +mB +h42 +gH3 +wA Sincos_cic -qT -dI1/mE)+fp_cos(aU +qW +g42 +mB)+gH3 +wA Sincos_sc -qT -m91)+fp_cos(aU +qW +aY1)+gH3 +wA Sincos_sci -qT -m91)+dI1/fp_cos(aU +qW +aY1 +h42 +gH3 +wA Sincos_sis -qT -dI1/m91 -a2);} -q3 +qW +g42 +aY1)+fp_sin(wA Sincos_ssi -qT -m91)+dI1/mB2 -aU +qW +aY1 +h42 +fp_sin(wA Sincos_tan -qT -dM2 -aU +qW +dD2 +wA Sincos_tit -qT -dI1/dM2 -x)+dM2 -aU +qW +g42 +dD2 +x)+dD2 +wA Sincos_tti -qT -dM2 -x)+dI1/dM2 -aU +qW +dD2 +x +h42 +dD2 +wA Sinh -qT -sinh -dX2 +qW +sinh(1.1 +hY1 Sinh_deg -qT +qW sinh -gZ3 -mI2 -qT(-x)*x;} +gE2 +mS2 +qW(-x)*x;} q3 -mJ2 -qT -x*(-aU +mT2 +qW +x*(-wA Sqr_xx -qT +qW x*x;} q3 -oM2 -qO +oT2 +qL y*-x*x;} q3 -oN2 -qO +oU2 +qL y*x*-x;} q3 -mK2 -qO +mU2 +qL y*x*x;} q3 Sqreq0 -qT -qB2 -x*x,q0(0l -qL2 -x*aU +qW +fp_equal(x*x,q0(0l +mC1 +x*wA Sqrlog -qT +qW hP -x*aU +x*wA Sqrlog2 -qT -hC -x*aU +qW +h8 +x*wA Sqrlog10 -qT -h1 -x*aU -q53 -qT -qB2 -x*x,q0(0l -qL2 -x*aU +qW +gU +x*wA +qP3 +qW +fp_equal(x*x,q0(0l +mC1 +x*wA Sqrsqrt -qT -h72 -x*aU +qW +h32 +x*wA Sqrt -qT -sqrt -dX2 +qW +sqrt(1.1 +hY1 Sqrtsqr1 -g52 -h72 +qW +fp_pow(h32 x),q0(2l -qU +qP Sqrtsqr2 -g52 -h72 -gD1)),q0(2l -qU +qW +fp_pow(h32 +gB1)),q0(2l +qP Sqrxpow -g52 -x*x,2402.0);} +qW +oG1,2402.0);} q3 Sqrxpow_nonint -g52 -x*x,3.5);} +qW +oG1,3.5);} q3 Sub -qT -wV1-g13 -dT1 +qW +d01-q0(3l +hY1 Sub0 -qT -x-oF2 -dT1 +qW +x-q0(0l +hY1 Subxx -qT -x+(x-x)+x+(dI1-x+aU +qW +x+(x-x)+x+(q0(1l)-x+wA Tan -qT -tan -dX2 +qW +tan(1.1 +hY1 Tan_deg -qT +qW tan -gZ3 +gE2 Tanh -qT -tanh -dX2 +qW +tanh(1.1 +hY1 Tanh_deg -qT +qW tanh -gZ3 +gE2 Trunc -qT +qW 1.0+x;} q3 -Xaddnot -g42 -x+q0(4l -qU +mV2 +g62 +x+dL1 Xaddnotnot -qT -d81+q0(4l -qU +qW +d61+dL1 Xmulrad -qT -fp_cos(d2r(x -hD3 -qU +qW +gH3 +d2r(gK2 +x +qP Xmulsinhneg -qT-fp_sinh(x*h82 +qW-fp_sinh(x +g52 Xmulsinneg -qT-m91*h82 +qW-aY1 +g52 Xmultanhneg -qT-fp_tanh(x*h82 +qW-fp_tanh(x +g52 Xmultanneg -qT-dM2 -x*h82 +qW-dD2 +x +g52 Xsqryfsqrhypot -qT +qW fp_hypot(hP -x),hC +x),h8 x -qU +qP Xsqrysqrhypot -qO +qL fp_hypot(hP -x),y);} -q3 +x)aN2 Xxdup -qT +qW x-x;} q3 Xxfdup -qT +qW x-x;} q3 -oO2 -qO -y*fp_abs(x)*fp_abs(aU +oV2 +qL +y*fp_abs(x)*fp_abs(wA Ypowxpow -g52 qW -38.5),5.0)qT3 +fp_pow(qO +38.5),5.0 +g43 cpp_11optimizer_constaddmul{using namespace FUNCTIONPARSERTYPES;q3 -t1(g93 -dI1/a)*d21 +t1(mI2 +g42 +a)hT1 t2(qC qA -wV1*a;} +d01*a;} q3 t3(qC qA -wV1/a;} +d01/a;} q3 t4 -g5(a*wV1)*b;} +oQ(a*d01)*b;} q3 t5 -g5(a*wV1)/b;} +oQ(a*d01)/b;} q3 t6 -g5(dI1/a)*b;} +oQ(g42 +a)*b;} q3 t7 -g5(dI1/a)/b;} +oQ(g42 +a)/b;} q3 t8 -g5 -wQ1*(mL*h82 +oQ +q52)*(mI +g52 t9 -g5 -wQ1/(mL*h82 +oQ +q52)/(mI +g52 t10 -g5 -mL*(wV1/a);} +oQ +mI*(d01/a);} q3 t11 -g5 -mL/(q0(50l)/a);} +oQ +mI/(q0(50l)/a);} q3 -t12(g93-a)+d21 +t12(mI2-a +hU1 t13 -g5 -wV1+(a*b);} +oQ +d01+(a*b);} q3 t14 -g5 -wV1-(a*b);} +oQ +d01-(a*b);} q3 t15 -g5(a+wV1)+mL;} +oQ(a+d01)+mI;} q3 t16 -g5(a+wV1)-mL;} +oQ(a+d01)-mI;} q3 t17 -g5(-a)+mL;} +oQ(-a)+mI;} q3 t18 -g5(-a)-mL;} +oQ(-a)-mI;} q3 t19 -g5 -b+(wQ1+h82 +oQ +b+(q52 +gC1 +5l +qP t20 -g5 -b-(wQ1+h82 +oQ +b-(q52 +gC1 +5l +qP t21 -g5 -mL+(wV1-a);} +oQ +mI+(d01-a);} q3 t22 -g5 -mL-(wV1-a);} +oQ +mI-(d01-a);} q3 t23 -g5 -h92 -b -hX3 +oQ +dT2 +b)/a;} +q3 t24 -g5 -h92 -wV1 -hX3 -t25 -g5 -h92 -wV1)*a;} +oQ +dT2 +d01)/a;} q3 +t25 +oQ +dT2 +d01 +gU3 t26 -g5(wQ1/b -hX3 -t27 -g5(wQ1/b)*a;} +oQ(q52)/b)/a;} q3 +t27 +oQ(q52)/b +gU3 t28 -g5((-a)/b)*d21 +oQ((-a)/b)hT1 t29 -g5(wV1/b)*a;} -q3 -t30(gV2*vars){gV2&b=vars[0]qA(q0(7l)/b)*d21 +oQ(d01/b +gU3 +t30(gC2*vars){gC2&b=vars[0]qA(h72/b)hT1 t31 -g5 -b*(q0(7l)/-a);} +oQ +b*(h72/-a);} q3 t32 -g5(wV1-b)-a;} +oQ(d01-b)-a;} q3 t33 -g5(wV1-b)+a;} +oQ(d01-b)+a;} q3 t34 -g5((a+dN2-b)+d21 +oQ((a+h72)-b +hU1 t35 -g5((-a)-b)+d21 -t36(g93 -q0(7l)-fp_abs(a -wX -5l);} -q3 +oQ((-a)-b +hU1 +t36(mI2 +h72-q52)hU1 t37 -g5((q0(7l)-b)+a)+d21 +oQ((h72-b)+a +hU1 t38 -g5 -fp_less((wV1*b+wQ1),oF2)*dI1 -o12(mL),oF2)*gX;} +oQ +fp_less((d01*b+q52)),gM2)*q0(1l)dL2(mI),gM2)*gL;} q3 -t39(g93 -a+dN2*d21 +t39(mI2 +a+h72)hT1 t40 -g5(b+(a*dN2)*d21 +oQ(b+(a*h72))hT1 t41 -g5(b-(a*dN2)*d21 -t42(g93 -a+q0(7l -wX -5l);} -q3 -t43(g93 -a*dN2*wV1 -qT3 +oQ(b-(a*h72))hT1 +t42(mI2 +a+h72 +hU1 +t43(mI2 +a*h72)*d01;} +} +namespace cpp_20optimizer_optimizations{using namespace FUNCTIONPARSERTYPES;q3 Abscos -qT -fp_cos(fp_abs(x))+fp_abs(aU +qW +gH3 +fp_abs(x))+fp_abs(wA Abscosh -qT -aD2 -fp_abs(x))+fp_abs(aU +qW +aO2 +fp_abs(x))+fp_abs(wA Abseq0 -qT -qB2 -oW +qW +fp_equal(w0 0l -qL2 -d61 -mV2 -qT -qB2 -oW +mC1 +d51 +q83 +qW +fp_equal(w0 0l -qL2 -d61 -mF2(qD;q0 +mC1 +d51 +mP2(qD;q0 b5[2]qA -userDefFuncSub((b5[0]=(fp_greaterOrEq(oW -4l))),b5[1]=(fp_greaterOrEq(oW +userDefFuncSub((b5[0]=(fp_greaterOrEq(fp_abs(x),dM),b5[1]=(fp_greaterOrEq(w0 0l))),b5 -qU -mG2(qD;q0 +qP +mQ2(qD;q0 b6[2]qA -userDefFuncSub((b6[0]=(fp_less(oW -4l))),b6[1]=(fp_less(oW +userDefFuncSub((b6[0]=(fp_less(fp_abs(x),dM),b6[1]=(fp_less(w0 0l))),b6 -qU +qP Acoscos -qT -fp_cos(gD1 -qU +qW +gH3 +gB1 +qP Acoshsinh -qT +qW fp_sinh(fp_acosh(x -qU -mH1 -qO -wV1*(q0(4l)+x+y);} +qP +mE1 +qL +d01*(h22+x+y);} q3 Addlog -qO +qL hP x)+hP y);} q3 -o21 -qO -wV1*(q0(4l)*y+aU -a21 -qO-wV1+(wV1*x*y);} +dR1 +qL +d01*(h22*y+wA +wS1 +qL-d01+(d01*x*y);} q3 -a31 -qO-wV1*y+(wV1*aU +wT1 +qL-d01*y+(d01*wA Addsin2cos2 -g52 -m91),gX)+mA2 -mE),q0(2l -qU +qW +fp_pow(aY1),gL)+fp_pow(mB),q0(2l +qP Asinhcosh -qT -aD2 +qW +aO2 fp_asinh(x -qU +qP Asinsin -qT -mB2 -fp_asin(x -qU -w41 -qO -qB2 -x -gE1 -d5 +qW +fp_sin(fp_asin(x +qP +w01 +qL +fp_equal(x +dG +qP Cmpeq_add_reduce -qT -qB2 -wR1 -qU -h71 -qO -qB2 -x -g53 -a41 -qO((qB2 -x -g21 +qW +fp_equal(mJ +qP h81 -qO((qB2 -x -qE2 -gH1 -qO -qB2 -x*-aS +qL +fp_equal(x+h2 +wU1 +qL((fp_equal(x +mK +h91 +qL((fp_equal(x +mT1 gI1 -qO -qB2 -x*aS +qL +fp_equal(x*-dF +gJ1 +qL +fp_equal(x*dF +mP +qL +fp_equal(x*-h2 mQ -qO -qB2 -x*-gO -qU -mR -qO -qB2 -x*gO -qU +qL +fp_equal(x*h2 Cmpeq_pow_imm_negneg -qT -qB2 -d6 +qW +fp_equal(d7 +qP Cmpeq_pow_imm_negpos -qT -qB2 -dS +qW +fp_equal(o1 Cmpeq_pow_imm_posneg -qT -qB2 -x*aX +qW +fp_equal(x*aW Cmpeq_pow_imm_pospos -qT -qB2 -x*x,oO1 +qW +fp_equal(x +d21 Cmpeq_pow_imm_pospos_base -qT -qB2 -q0(dD +qW +fp_equal(q0(dI Cmpeq_powpow_imm_base -qO -qB2 -dK -w51 -qO -hY -gE1 -d5 +qL +fp_equal(dR +w11 +qL +hX +dG +qP Cmpge_add_reduce -wA -wR1 -qU -h91 -qO -hY -g53 -a71 -qO((hY -g21 +aV +mJ +qP hA1 -qO((hY -qE2 -gK1 -qO -hY*-aS +qL +hX+h2 +wW1 +qL((hX +mK +hB1 +qL((hX +mT1 gL1 -qO -hY*aS +qL +hX*-dF +gM1 +qL +hX*dF +mR +qL +hX*-h2 mS -qO -hY*-gO -qU -mT -qO -hY*gO -qU +qL +hX*h2 Cmpge_pow_imm_negneg -wA -d6 +aV +d7 +qP Cmpge_pow_imm_negpos -wA -dS +aV +o1 Cmpge_pow_imm_posneg -qT -hY*aX +qW +hX*aW Cmpge_pow_imm_pospos -qT -hY*x,oO1 +qW +hX +d21 Cmpge_pow_imm_pospos_base -wA -q0(dD +aV +q0(dI Cmpge_powpow_imm_base -qO -fp_greaterOrEq(dK -w61 -qO -oG -gE1 -d5 +qL +fp_greaterOrEq(dR +w21 +qL +oI +dG +qP Cmpgt_add_reduce -qT -g11 -wR1 -qU -hB1 -qO -oG -g53 -a81 -qO((oG -g21 +qW +g01 +mJ +qP hC1 -qO((oG -qE2 -gN1 -qO -oG*-aS +qL +oI+h2 +wX1 +qL((oI +mK +hD1 +qL((oI +mT1 gO1 -qO -oG*aS +qL +oI*-dF +gP1 +qL +oI*dF +mT +qL +oI*-h2 mU -qO -oG*-gO -qU -mV -qO -oG*gO -qU +qL +oI*h2 Cmpgt_pow_imm_negneg -qT -g11 -d6 +qW +g01 +d7 +qP Cmpgt_pow_imm_negpos -qT -g11 -dS +qW +g01 +o1 Cmpgt_pow_imm_posneg -qT -oG*aX +qW +oI*aW Cmpgt_pow_imm_pospos -qT -oG*x,oO1 +qW +oI +d21 Cmpgt_pow_imm_pospos_base -qT -g11 -q0(dD +qW +g01 +q0(dI Cmpgt_powpow_imm_base -qO -g11 -dK -w71 -qO -dU -gE1 -d5 +qL +g01 +dR +w31 +qL +o4 +dG +qP Cmple_add_reduce -qT -o11 -wR1 -qU -hD1 -qO -dU -g53 -a91 -qO((dU -g21 +qW +dN1 +mJ +qP hE1 -qO((dU -qE2 -gQ1 -qO -dU*-aS +qL +o4+h2 +wY1 +qL((o4 +mK +hF1 +qL((o4 +mT1 gR1 -qO -dU*aS +qL +o4*-dF +gS1 +qL +o4*dF +mV +qL +o4*-h2 mW -qO -dU*-gO -qU -mX -qO -dU*gO -qU +qL +o4*h2 Cmple_pow_imm_negneg -qT -o11 -d6 +qW +dN1 +d7 +qP Cmple_pow_imm_negpos -qT -o11 -dS +qW +dN1 +o1 Cmple_pow_imm_posneg -qT -dU*aX +qW +o4*aW Cmple_pow_imm_pospos -qT -dU*x,oO1 +qW +o4 +d21 Cmple_pow_imm_pospos_base -qT -qK1 -dD +qW +qH1 +dI Cmple_powpow_imm_base -qO -o11 -dK -w81 -qO -aT -gE1 -d5 +qL +dN1 +dR +w41 +qL +aX +dG +qP Cmplt_add_reduce -qT -fp_less(wR1 -qU -hF1 -qO -aT -g53 -aA1 -qO((aT -g21 +qC2 +mJ +qP hG1 -qO((aT -qE2 -gT1 -qO -aT*-aS +qL +aX+h2 +wZ1 +qL((aX +mK +hH1 +qL((aX +mT1 gU1 -qO -aT*aS +qL +aX*-dF +gV1 +qL +aX*dF +mX +qL +aX*-h2 mY -qO -aT*-gO -qU -mZ -qO -aT*gO -qU +qL +aX*h2 Cmplt_pow_imm_negneg -qT -fp_less(d6 +qC2 +d7 +qP Cmplt_pow_imm_negpos -qT -fp_less(dS +qC2 +o1 Cmplt_pow_imm_posneg -qT -aT*aX +qW +aX*aW Cmplt_pow_imm_pospos -qT -aT*x,oO1 +qW +aX +d21 Cmplt_pow_imm_pospos_base -qT -fp_less(q0(dD +qW +mS1 +dI Cmplt_powpow_imm_base -qO -fp_less(dK -w91 -qO -oY -gE1 -d5 +qL +fp_less(dR +w51 +qL +w3 +dG +qP Cmpne_add_reduce -mK1 -wR1 -qU -hH1 -qO -oY -g53 -aB1 -qO((oY -g21 +dO1 +mJ +qP hI1 -qO((oY -qE2 -gW1 -qO -oY*-aS +qL +w3+h2 +a11 +qL((w3 +mK +hJ1 +qL((w3 +mT1 gX1 -qO -oY*aS +qL +w3*-dF +gY1 +qL +w3*dF +mZ +qL +w3*-h2 q01 -qO -oY*-gO -qU -q11 -qO -oY*gO -qU +qL +w3*h2 Cmpne_pow_imm_negneg -mK1 -d6 +dO1 +d7 +qP Cmpne_pow_imm_negpos -mK1 -dS +dO1 +o1 Cmpne_pow_imm_posneg -qT -oY*aX +qW +w3*aW Cmpne_pow_imm_pospos -qT -oY*x,oO1 +qW +w3 +d21 Cmpne_pow_imm_pospos_base -mK1 -q0(dD +dO1 +q0(dI Cmpne_powpow_imm_base -qO -fp_nequal(dK -wA1 -qE3 -x -d71 -gK -x -d71 -mV1 -d71 -mW1 -d71 -oD2 -d71 -m92 +qL +fp_nequal(dR +w61 +qL +q0(h7 +h82 +gP +h82 +gS +h82 +gI +h82 +gW x -gE1 -d5 +dG +mB2 +dG +qP Cmpzz_add_reduce -qD2 -wR1 -gK -wR1 -wX -gZ -wR1 -wX -gG -wR1))gI -wR1 -m92 -wR1 -qU -hJ1 -qE3 -x+gO -gK -x+gO -mV1+gO -mW1+gO -oD2+dP2 -g53 -aH1 -qO -q0(0x0001l)*((aT -qF2 -0x0002l)*((dU -qF2 -0x0004l)*((oG -qF2 -0x0008l)*((hY -qF2 -0x0010l)*((oY -qF2 -0x0020l)*((qB2 -x -g21 -hO1 -qO -q0(0x0001l)*((aT -oP1 -0x0002l)*((dU -oP1 -0x0004l)*((oG -oP1 -0x0008l)*((hY -oP1 -0x0010l)*((oY -oP1 -0x0020l)*((qB2 -x -qE2 -gZ1 -wY1-q0(oZ -gK -x*-q0(oZ -mV1*-q0(oZ -mW1*-q0(oZ -oD2*-q0(oZ -m92 -x*-aS +q62 +mJ)gC1 +gP +mJ)gC1 +gS +mJ)gC1 +gI +mJ)gC1 +gW +mJ))gT +mJ +qP +hK1 +qL +q0(h7 +x+q0 +m01 +gP +x+q0 +m01 +gS +x+q0 +m01 +gI +x+q0 +m01 +gW +x+q0 +qY3+h2 +a21 +qL +q0(0x0001l)*((aX +mU1 +0x0002l)*((o4 +mU1 +0x0004l)*((oI +mU1 +0x0008l)*((hX +mU1 +0x0010l)*((w3 +mU1 +0x0020l)*((fp_equal(x +mK +hM1 +qL +q0(0x0001l)*((aX +mV1 +0x0002l)*((o4 +mV1 +0x0004l)*((oI +mV1 +0x0008l)*((hX +mV1 +0x0010l)*((w3 +mV1 +0x0020l)*((fp_equal(x +mT1 h01 -wY1 -q0(oZ -gK -x*q0(oZ -mV1*q0(oZ -mW1*q0(oZ -oD2*q0(oZ -m92 -x*aS +oX1-dH +gP +x*-dH +gS +x*-dH +gI +x*-dH +gW +x*-h22*mL2 +mB2*-dF +h11 +oX1 +dH +gP +x*dH +gS +x*dH +gI +x*dH +gW +x*h22*mL2 +mB2*dF +q11 +oX1 +aR2 +gP +x*aR2 +gS +x*aR2 +gI +x*aR2 +gW +x*-q0 +qY3*-h2 q21 -wY1-gO -gK -x*-gO -mV1*-gO -mW1*-gO -oD2*-dP2*-gO -qU -q31 -wY1 -gO -gK -x*gO -mV1*gO -mW1*gO -oD2*dP2*gO -qU +oX1 +q0 +m01 +gP +x*q0 +m01 +gS +x*q0 +m01 +gI +x*q0 +m01 +gW +x*q0 +qY3*h2 Cmpzz_pow_imm_negneg -qD2 -dM -gK -dM -wX -gZ -dM -wX -gG -dM))gI -dM -m92 -d6 +q62 +d7)gC1 +gP +d7)gC1 +gS +d7)gC1 +gI +d7)gC1 +gW +d7))gT +d7 +qP Cmpzz_pow_imm_negpos -qD2 -wR -gK -wR -wX -gZ -wR -wX -gG -wR))gI -wR -m92 -dS +q62 +w4 +gP +w4 +gS +w4 +gI +w4 +gW +qO-gL),q0(0.0625l))gT +o1 Cmpzz_pow_imm_posneg -qD2 +q62 x -q81 -gK +aB +gP x -q81 -mV1 -q81 -mW1 -q81 -oD2 -q81 -m92 -x*aX +aB +gS +x +aB +gI +x +aB +gW +x*x*x,-q0(125l +mB2*aW Cmpzz_pow_imm_pospos -qD2 -oW1 -gK -oW1 -wX -gZ -oW1 -wX -gG -oW1))gI -oW1 -m92 -x*x,oO1 +q62 +x +wE1 +gP +x +wE1 +gS +x +wE1 +gI +x +wE1 +gW +x*x,q0(25l +mB2 +d21 Cmpzz_pow_imm_pospos_base -qD2 -q0(w0 -gK -q0(w0 -wX -gZ -q0(w0 -wX -gG -q0(w0))gI -q0(w0 -m92 -q0(dD +q62 +q0(oK+q0(gP +q0(oK+q0(gS +q0(oK+q0(gI +q0(oK+q0(gW +q0(oK +gT +q0(dI Cmpzz_powpow_imm_base -qE3 -wB -gK -wB -wX -gZ -wB -wX -gG -wB))gI -wB -m92 -dK +qL +q0(h7 +oR+q0(gP +oR+q0(gS +oR+q0(gI +oR+q0(gW +oR +gT +dR Eq0 -qT -qB2 -x,q0(0l -qL2 -aU -Eq1 -qT -qB2 -fp_not(x),q0(1l -qU -mZ2 -wA -oW -0l -dO2 -fp_abs(x))qR -oW -0l -gK2 -d61 -q03 +qW +fp_equal(x,q0(0l +mC1 wA -oW -1l))+qC3 -fp_abs(x))qR -oW -1l -gL2 -d61 -hQ2 -qO -x==mD1 -hR2 -qO -x==mD1 -hS2 -qO -x>mD1 -oZ2 -qO -x>=mD1 -w02 -qO -qM2 -w12 -qO -qM2 -Gehalf -qT -hY,q0(0.5l -qU -q13 -qT -g11 -oW -0l -gM2 -fp_abs -dR -oW -0l))gN2 -d61 -q23 -qT -g11 -oW -gO2 -fp_abs -dR -oW -1l))qS -dI1,d61 -hT2 -qO +Eq1 +qW +fp_equal(fp_not(x),q0(1l +qP +Expexp_a +qL +gO3*gL+y*q0(3l +qP +Expexp_b +hJ +gO3)*fp_exp(y+z);} +q3 +Expexp_c +hJ +gO3+y*z);} +q3 +qE3 +aV +w0 +0l))+qV3 +fp_abs(x))qQ +w0 +0l)qW3 +d51 +qF3 +aV +w0 +aZ1 +fp_abs(x))qQ +w0 +g12 +d51 +hK2 +qL +x==mB1 +hL2 +qL +x==mB1 +hM2 +qL +x>mB1 +w82 +qL +x>=mB1 +w92 +qL +x +g82 +wA2 +qL x -oK +g82 +Gehalf +qW +hX,gD2 +qP qG3 -hU2 -qO -x>mD1 -hV2 -qO +qW +g01 +w0 +oD1 +fp_abs(w2(w0 +oE1 +d51 +qH3 +qW +g01 +w0 +g22 +fp_abs(w2(w0 +g32 +d51 +hN2 +qL x -oK -qG3 -hW2 -qO -x>mD1 -w22 -qO -x>=mD1 -w32 -qO -x>=mD1 -w42 -qO -qM2 -w52 -qO -x!=mD1 +oS +qZ3 +hO2 +qL +x>mB1 +hP2 +qL +x +oS +qZ3 +hQ2 +qL +x>mB1 +wB2 +qL +x>=mB1 +wC2 +qL +x>=mB1 +wD2 +qL +x +g82 +wE2 +qL +x!=mB1 If10 -qT -d81 -dR2 +qW +d61 +gC1 10l)*fp_not(x -dR2 -100l)*oG,q0(0l -wX -1000l)*dU,dT2 -o51 -qO -fp_abs(dW(x+gX):(y+wV1 -qU -o61 -qO -y+(dW -gX:h82 -d91 -qO -dW(y+gX):mD1 -dA1 -qO -dW +gC1 +100l)*oI,gM2 +gC1 +1000l)*o4,aK2 +dV1 +qL +fp_abs(o5(x+gL):(y+d01 +qP +dW1 +qL +y+(o5 +gL:q0(5l +qP +d71 +qL +o5(y+gL):mB1 +d81 +qL +o5 y:(y+q0(2l -qU -If_extract_and1_l(qZ -oY1:qL1 -qU -If_extract_and1_nl(qZ +qP +If_extract_and1_l(qY +oY1:qI1 +qP +If_extract_and1_nl(qY oY1:z;} q3 -If_extract_and2_l(qZ -qL1)):oY1;} +If_extract_and2_l(qY +qI1)):oY1;} q3 -If_extract_and2_nl(qZ +If_extract_and2_nl(qY z:oY1;} q3 If_extract_div -qO -y/(dW +qL +y/(o5 x:q0(2l -qU -o71 -qO -fp_min(y,(dW -gX:wV1 -qU -o81 -qO -y*(dW -gX:h82 -dB1 -qO -dW(y*gX):mD1 -dC1 -qO -dW +qP +dX1 +qL +fp_min(y,(o5 +gL:d01 +qP +dY1 +qL +y*(o5 +gL:q0(5l +qP +d91 +qL +o5(y*gL):mB1 +dA1 +qL +o5 y:(y*q0(2l -qU -If_extract_or1_l(qZ -m31:qL1 -qU -If_extract_or1_nl(qZ -m31:z;} +qP +If_extract_or1_l(qY +m21:qI1 +qP +If_extract_or1_nl(qY +m21:z;} q3 -If_extract_or2_l(qZ -qL1)):m31;} +If_extract_or2_l(qY +qI1)):m21;} q3 -If_extract_or2_nl(qZ -z:m31;} +If_extract_or2_nl(qY +z:m21;} q3 If_extract_sin -qO -mB2 -dW -y:aU +qL +fp_sin(o5 +y:wA If_join_add -qO -aV(m71 -aY)):(aY+dI1)+mB2 -y+dI1 -qU +qL +aY(m41 +gG3)):(fp_cos +aL2))+fp_sin +aL2)qP If_join_add2 -qT -x+(aV +qW +x+(aY q0(13l):q0(14l -qU +qP If_join_and -qO -aV +qL +aY fp_and -m81 -fp_and(aY+wC +qB1 +fp_and +dP If_join_max -qO -aV +qL +aY fp_max -m81 -fp_max(aY+wC +qB1 +fp_max +dP If_join_min -qO -aV +qL +aY fp_min -m81 -fp_min(aY+wC +qB1 +fp_min +dP If_join_mul -qO -aV(mB2 -y)*aY)):(aY+dI1)*mB2 -y+dI1 -qU +qL +aY(fp_sin(y)*gG3)):(fp_cos +aL2))*fp_sin +aL2)qP If_join_mul2 -qT -x*(aV +qW +x*(aY q0(30l):q0(40l -qU +qP If_join_or -qO -aV +qL +aY fp_or -m81 -fp_or(aY+wC +qB1 +fp_or +dP Ifabs -qT +qW q0(1l -m9 -aT -q91 +q61 +aX +m5 10l -m9 -dU -q91 +q61 +o4 +m5 100l -m9 -oG -q91 +q61 +oI +m5 1000l -m9 -hY -q91 +q61 +hX +m5 10000l -m9 -aT,q0(wI1 +q61 +aX +q31 100000l -m9 -dU,q0(wI1 +q61 +o4 +q31 1000000l -m9 -oG,q0(wI1 +q61 +oI +q31 10000000l -m9 -hY,oF2 -gB +q61 +hX,gM2 +gJ x:-x -qU +qP Ifabsnot -hB -fp_truth(m91 -dR2 -1.2l)gB -z:mD1 +hJ +fp_truth(aY1 +gC1 +1.2l)gJ +z:mB1 Ifconst -hB -x+y+z*q0 -hY2 -Ififconst(gV2*vars){gV2&w=vars[0],&x -oI2,&y=vars[2],&z=vars[3]qA -aC -dW -dI1:y -gB -z:w)+aC +hJ +x+y+z*gF2 +Ififconst(gC2*vars){gC2&w=vars[0],&x +oR2,&y=vars[2],&z=vars[3]qA +mE +o5 +q0(1l):y +gJ +z:w)+mE fp_truth(w -gB -z:oF2 -gB +gJ +z:gM2 +gJ x:y);} q3 -Ifmerge(gV2*vars){gV2&b=vars[0],&d -oI2,&oL -x:b):aC +Ifmerge(gC2*vars){gC2&b=vars[0],&d +oR2,&oJ +x:b):mE y -gB -x:d))+aC +gJ +x:d))+mE b -gB -aC +gJ +mE d -gB -y:x):aC +gJ +y:x):mE d -gB +gJ b:x -qU +qP Ifmerge2(qC,&b -oI2,&oL -a:b):aC +oR2,&oJ +a:b):mE b -gB +gJ a:b -qU +qP Ifmerge2b(qC,&b -oI2,&oL -a:b):aC +oR2,&oJ +a:b):mE b -gB +gJ b:a -qU +qP Ifnop -qO -x*oF2+mD1 -Ifnot(qZ -z:mD1 +qL +x*gM2+mB1 +Ifnot(qY +z:mB1 L_abs -qO -hA2+gX,fp_and(fp_abs(x),y+gX -qU -w72 -qO -hA2*y*fp_abs(y),y+q0(2l -qU -w82 -qO -hA2*y*-wV1,y+q0(2l -qU -w92 -qO -hA2+gX,fp_and(d81),y+gX -qU -hZ2 -qO -x==mD1 -d02 -qO -xmD1 +qL +x>mB1 Not_lt -qO -x>=mD1 +qL +x>=mB1 Not_ne -qO -x==mD1 +qL +x==mB1 Notnot -qO +qL fp_truth(x)+fp_truth(y);} q3 Posnot -g42 -m91 -dR2 +g62 +aY1 +gC1 1.2l -qU +qP Posnotnot -qT -fp_notNot(m91 -dR2 +qW +fp_notNot(aY1 +gC1 1.2l -qU +qP Powimmaddimmlog -qT +qW qI 5l),hP x -dR2 +gC1 1l -qU +qP Powimmlog -qT +qW qI 3l),hP x))+qI 5l),hP -x)*m91 -qU +x)*aY1 +qP Powmulimm_fnen -qO -wV*y,(q0(-8l)qU +qL +a1*y,(q0(-8l)qP Powmulimm_fnep -qO -wV*y,(q0(4l)qU +qL +a1*y,(h12 Powmulimm_fnfn -qT -wV,(q0(-7.1l)qU +qW +a1,(q0(-7.1l)qP Powmulimm_fnfp -qO -wV*y,q0(7.1l -qU +qL +a1*y,q0(7.1l +qP Powmulimm_fpfp -qO +qL qI 5.1l)*x*y,q0(7.1l -qU +qP Sub1cos2 -qT -dI1-mA2 -mE),q0(2l -qU +qW +q0(1l)-fp_pow(mB),q0(2l +qP Sub1sin2 -qT -dI1-mA2 -oX +qW +q0(1l)-fp_pow(w1 2l -qU +qP Trig_modulo -qT -mE+gF)+mE+gF*gX -hV1)+mE+gF*wV1 -dQ2+gF*q0(6l)dQ2+gF*q0(7l)dU2 -a2+gF*gX -hV1 -a2+gF*wV1 -dU2*q0(6l)dU2*q0(7l)dQ2-gF)+mE-gF*gX -hV1)+mE-gF*wV1 -dQ2-gF*q0(6l)dQ2-gF*q0(7l)dY2 -a2-gF*gX -hV1 -a2-gF*wV1 -dY2*q0(6l)dY2*q0(7l)/q0(2l -qU +qW +mB+gF)+mB+gF*q72)+mB+gF*d01 +dE2+gF*q0(6l)dE2+gF*h72 +dF2 +a2+gF*q72 +a2+gF*d01 +dF2*q0(6l)dF2*h72 +dE2-gF)+mB-gF*q72)+mB-gF*d01 +dE2-gF*q0(6l)dE2-gF*h72 +dG2 +a2-gF*q72 +a2-gF*d01 +dG2*q0(6l)dG2*h72/q0(2l +qP Trunc_from_if -qT +qW fp_trunc(x)*q0(4l -dR2 -40l)*(x>oF2?fp_ceil(x):fp_floor(x -qU -Xaddnot -g42 -x+q0(4l -qU +gC1 +40l)*(x>gM2?fp_ceil(x):fp_floor(x +qP +mV2 +g62 +x+dL1 Xaddnotnot -qT -d81+aG2 -qT3 +qW +d61+dM;} +} +namespace cpp_50regressions{using namespace FUNCTIONPARSERTYPES;q3 t1 -qT -x+gR2 -0l),gQ2-2l),oF2 -qU +qW +x+g92 +0l),fp_min(q0(-2l),gM2 +qP t2 -qT -fp_min -g33 -dI1,x -qU +qW +fp_min(x,fp_min(q0(1l),x +qP t3(qD;q0 b7[2]qA -userDefFuncSub((b7[0]=(fp_and -oK2),d81))),b7[1]=(fp_or -oK2),d81))),b7 -qU -t4(qD,qZ3 +userDefFuncSub((b7[0]=(fp_and(fp_not(x),d61))),b7[1]=(fp_or(fp_not(x),d61))),b7 +qP +t4(qD,&y +oR2;q0 b9[2]qA -userDefFuncSub((b9[0]=oK2-y)),b9[1]=(d81-y)),b9 -qU +userDefFuncSub((b9[0]=(fp_not(x-y)),b9[1]=(d61-y)),b9 +qP t5(qD;q0 b11[2]qA -userDefFuncSub((b11[0]=(m91)+dI1/m91)),b11[1]=(mE)),b11 -qU +userDefFuncSub((b11[0]=(aY1 +h42 +aY1)),b11[1]=(mB)),b11 +qP t6(qD;q0 b13[2]qA -userDefFuncSub((b13[0]=oK2+aG2),b13[1]=(d81+g13)),b13 -qU +userDefFuncSub((b13[0]=(fp_not(x+dM),b13[1]=(d61+dI2),b13 +qP t7 -qT +qW x-x;} q3 t8 -qO -qG2-x,-y -dR2 -10l)*qG2-x,y -dR2 -20l)*qG2 +qL +q82-x,-y +gC1 +10l)*q82-x,y +gC1 +20l)*q82 x,-y -dR2 -30l)*qG2 -x,y);} -q3 +gC1 +30l)*q82 +x +aN2 t9a -qT -x*q0 -hY2 +qW +x*gF2 t9b -g5(a-b)*q0 -hY2 +oQ(a-b)*gF2 t9c -g5(a-b)*q0 -hY2 +oQ(a-b)*gF2 t9d -g5 -a*b*q0 -hY2 +oQ +a*b*gF2 t36 -qT-(x((b15[g03 -b15[1]=(y),b15))),userDefFuncValue((0)))qT3 +fp_or(fp_or(d11 +b14[0]=(x),b14)),userDefFuncSub((b15[0]=(x),b15[1]=(y),b15))),userDefFuncValue((0))g43 cpp_99misc{using namespace FUNCTIONPARSERTYPES;q3 t1 -qT -x*q0(4l)/gX+(dI1+(gX+g13))+x*x+x+(mF+qH3 -dR2 +qW +x*h22/gL+(q0(1l)+(gL+dI2)+x*x+x+(a0+g03 +gC1 3.0l)*q0(4.0l -dR2 +gC1 5.0l)*q0(6.0l)*q0(7.0l)-q0(8.0l)*q0(9.0l -qU +qP t2 -qT -gX*x+m91)/q0(.5l)+gX-m91)*mB2 -aU +qW +gL*x+aY1)/q0(.5l)+gL-aY1)aT2 +wA t3 -hB -fp_and(m51),qB2 -y,x -wX -1.0l -dR2 -2.0l)-q0(3.1l)*q0(4e2l)/q0(.5l)+x*x+y*y+z*z+hA2,x)qD3 -y,y);} -q3 +hJ +fp_and(m31),fp_equal(y,x))+a0+g03)-q0(3.1l)*q0(4e2l)/q0(.5l)+x*x+y*y+z*z+fp_and(x,x)+fp_or(y +aN2 t4 -qO(((((x-y)-(((y)*gX)-g13)))*aG2 -a2)*aY)-mE)*mB2 +qL(((((x-y)-(((y)*gL)-dI2))*dM +a2)*gG3)-mB)aT2 y);} q3 -t5(gV2*vars){gV2&__A5_x08=vars[0],&o__5_0AB_ -oI2 -qA -mA2 -__A5_x08,o__5_0AB_);} -q3 -t6(qD,qZ3 -b18[2]qA(x>q0(1e-14l)&&y>q0(1e-14l)?x*y+t6((b18[0]=(x-dI1),b18[1]=(y-dI1),b18)):q0(0l -wX -1l);} +t5(gC2*vars){gC2&__A5_x08=vars[0],&o__5_0AB_ +oR2 +qA +fp_pow(__A5_x08,o__5_0AB_);} q3 t7 -qT -mE)*mB2 -dI1-x)*(dI1-mE/gX)*m91*wV1 -qU +qW +mB)aT2 +q0(1l)-x)*(q0(1l)-mB/gL)*aY1*d01 +qP t8 -qO -qG2 +qL +q82 x,y)+(x>y?x:y);} q3 t9 -hB -q0(1.5l)+x*y-qH3 -dR2 +hJ +q0(1.5l)+x*y-g03 +gC1 4.0l)/q0(8.0l)+z+z+z+z+x/(y*z);} q3 t10 -hB -dI1+mB2 -fp_cos(fp_max(dI1+gX+g13 -gE1 -wV1,x+y+z)))+gX;} +hJ +q0(1l)+fp_sin(gH3 +g92 +1l)+gL+q0(3l +gC1 +4l +gC1 +5l),x+y+z)))+gL;} q3 t11 -hB(-x-x)+y+hP +hJ(-x-x)+y+hP qI 1.1l),z -qU +qP t12 -qT -mF/hP +qW +a0/hP qI -10.0l),mF/hP -x)qU +10.0l),a0/hP +x)qP t13 +qL qO -qW -g13)*qW -aG2+mA2 -y,g13 -qB1 -y,h82 +dI2*qO +dM+fp_pow(y,dI2*fp_pow(y,q0(5l +qP t14 -qT -x*gF+mB2 -gX*gF -dR2 +qW +x*gF+fp_sin(gL*gF +gC1 CONST);} q3 t15 +qL qO -qW y)/hP y)+hP x)/hP y)+hP -qW +qO y -qU +qP t16 -qO -xoF2?x*y:x+gX*y);} +qL +xgM2?x*y:x+gL*y);} q3 -t17(qD,qZ3 +t17(qD,&y +oR2;q0 +b18[1];q0 +b19[2];q0 b20[1];q0 -b21[2];q0 -b22[1];q0 -b23[2]qA -wU1 -b20[g03 -b20))+userDefFuncSub((b21[g03 -b21[1]=(y),b21))+wU1 -b22[0]=(y),b22))+userDefFuncSub((b23[0]=(y+dI1),b23[1]=(x-gX),b23))-dI1;} +b21[2]qA +d11 +b18[0]=(x),b18))+userDefFuncSub((b19[0]=(x),b19[1]=(y),b19))+d11 +b20[0]=(y),b20))+userDefFuncSub((b21[0]=aL2)),b21[1]=(x-gL),b21))-q0(1l);} q3 t18 -qO-(-(-(-wV1)))*-qW-mA2 -y,-gX -qU +qL-(-(-(-d01)))*-qO-fp_pow(y,-gL +qP t19 -qO -aT,y -dR2 -10l)*dU,y -dR2 -100l)*oG,y -dR2 -1000l)*hY,y -dR2 -10000l)*m51 -dR2 -100000l)*oY,y)+hA2,y)*gX -qD3 -x,y)*q0(20l)+fp_not(x)*q0(200l)+fp_truth(x)*q0(2000l -dR2 -4l)*fp_not(fp_and(aT,y),aT,g13)wX -40l)hY3 -fp_not(oG,y)),oG,g13 -qU +qL +aX,y +gC1 +10l)*o4,y +gC1 +100l)*oI,y +gC1 +1000l)*hX,y +gC1 +10000l)*m31 +gC1 +100000l)*w3,y)+fp_and(x,y)*gL+fp_or(x,y)*q0(20l)aU2 +x)*q0(200l)+fp_truth(x)*q0(2000l +gC1 +4l)*fp_not(fp_and(aX,y),aX,dI2)gC1 +40l +gW3 +fp_not(oI,y)),oI,q0(3l)qP t20 -qO +qL fp_and(fp_not(x!=y),fp_not(x))+fp_truth(y);} q3 t21(qD;q0 -b28[1]qA -wU1 -b28[g03 -b28))+userDefFuncValue((0))-d21 +b26[1]qA +d11 +b26[0]=(x),b26))+userDefFuncValue((0))-d01;} +q3 t22 -qO(q0(3.5l)*gX -dR2 -10l)*(x*g13)-(mB2 -y)*gX -dR2 -100l)*((x*gX)-(y*g13))*gX+q0(5.0l)/(gX*gX)+qI -1.1l),x*gX)+qI -1.1l)*gX,x*q0(2l -qU +qL(q0(3.5l)*gL +gC1 +10l)*(x*dI2-(fp_sin(y)*gL +gC1 +100l)*((x*gL)-(y*dI2)*gL+q0(5.0l)/(gL*gL)+qI +1.1l),x*gL)+qI +1.1l)*gL,x*q0(2l +qP t23 -qT(x/(gX*fp_acos(q0(0.0l))))*q0(180l);} +qW(x/(gL*fp_acos(q0(0.0l))))*q0(180l);} q3 t24 -qT(fp_min -g33 -dI1,x))gP2 -dI1))/gX -gP2 -dI1)*g13+gR2 -0l),gQ2-2l),oF2 -qU +qW(fp_min(x,fp_min(q0(1l),x))g63 +gZ2/gL +g63 +q0(1l))*q0(3l)+g92 +0l),fp_min(q0(-2l),gM2 +qP t25(qC,&b -oI2,&c=vars[2]qA -mA2 -a,mA2 -b,c))+mA2 -a,-gX)*(-mA2 -b,gX))+(-mA2 -b,-c -qU +oR2,&c=vars[2]qA +fp_pow(a,fp_pow(b,c))+fp_pow(a,-gL)*(-fp_pow(b,gL))+(-fp_pow(b,-c +qP t26_deg -qT -mB2 -d2r(x))+fp_cos(d2r(x*q0(1.5l)))+r2d(fp_asin(x/q0(110.0l)))+r2d(gD1/q0(120.0l)qU +qW +fp_sin(d2r(x))+gH3 +d2r(x*q0(1.5l)))+r2d(fp_asin(x/q0(110.0l)))+r2d(gB1/q0(120.0l)qP t27 -qO -fp_abs(x)+gD1)+fp_asin(x)+fp_atan(x)+qG2 -x,y)+fp_ceil(x)+mE)+aD2 -x)+mF/dM2 -x)+mF/m91)+qW +qL +fp_abs(x)+gB1)+fp_asin(x)+fp_atan(x)+q82 +x,y)+fp_ceil(x)+mB)+aO2 +x)+a0/dD2 +x)+a0/aY1)+qO y);} q3 t28 -qO -fp_exp(x)+fp_floor(x)+fp_int(x)+hP -x)+h1 -x)+fp_max(x,y)gP2 -y)+dI1/mE -a2)+fp_sinh(x)+h72 -x)+dM2 +qL +gO3)+fp_floor(x)+fp_int(x)+hP +x)+gU +x)+fp_max(x,y)g63 +y +h42 +mB +a2)+fp_sinh(x)+h32 +x)+dD2 x)+fp_tanh(x)+fp_ceil(y)+fp_trunc(y);} q3 t29 -qO -x-y*dI1;} +qL +x-y*q0(1l);} q3 t30 -qO -x-y*dI1+fp_mod(x,y)+x/mA2 -y,q0(1.1l))+qI -2l),g13)+fp_mod(wV1,g13)+qW -mA2 -y,oF2))+qW -q0(0.5l -qU +qL +x-y*q0(1l)+fp_mod(x,y)+x/fp_pow(y,q0(gV3 +qI +2l),dI2+fp_mod(d01,dI2+qO +fp_pow(y,gM2))+qO +gD2 +qP t31 -hB -x-(y*(y*(y*-dI1))*dI1)+hP -x*q22 +hJ +x-(y*(y*(y*-gZ2*q0(1l))+hP +x*h52 y))-hP -qW -y))+q22 +qO +y))+h52 hP -dZ2)+qI +x +gJ3)+qI 10.0l),hP -dZ2/hP -y+q0(6l))*hP -z+q0(6l))/hP -q0(10.0l)))-q22 +x +gJ3/hP +y +gJ3*hP +z +gJ3/hP +q0(10.0l)))-h52 hP -dZ2*y)-qI +x +gJ3*y)-qI 5.0l),hP -x+dN2/hP -q0(5.0l)))+mA2 -x*z+q0(17l),g13 -qB1 -x*z+q0(17l),gX)/mA2 -x*z+q0(17l)qC2 +x+h72)/hP +q0(5.0l)))+h62 +dI2*h62 +gL)/h62 +dL1 t32 -hB -x+y/y-gQ2 -3l),aG2-x-gR2 -4l),g13)+gR2 -3l),aG2-gQ2 -4l),q0(3l -wX -0l)+(z*dI1)+(x-gX+gX)+(x*gW2*gX)+y*oF2+fp_min(fp_min(gQ2 -4.0l),x),mF),fp_min -g33 -fp_min(y,q0(4.0l)),z)))+fp_max(fp_max(gR2 -4.0l),x),mF),fp_max(gS2 -fp_max(y,q0(4.0l)),z)))+(fp_abs(dI1)+fp_acos(mF)+fp_asin(mF)+fp_atan(mF)+fp_ceil(q0(1.1l))+fp_cos -q32 +hJ +x+y/y-fp_min(q0(3l),dM-x-g92 +4l),dI2+g92 +3l),dM-fp_min(h22,q0(3l)gC1 +0l)+(z*q0(1l))+(x-gL+gL)+(x*gD2)*gL)+y*gM2+fp_min(fp_min(fp_min(q0(4.0l),x),a0),fp_min(x,fp_min(fp_min(y,q0(4.0l)),z)))+fp_max(fp_max(g92 +4.0l),x),a0),fp_max +gH2 +fp_max(y,q0(4.0l)),z)))+(fp_abs(q0(1l))+fp_acos(a0)+fp_asin(a0)+fp_atan(a0)+fp_ceil(q0(gV3 +fp_cos +wJ1 fp_cosh -q32 -fp_floor(q0(1.1l))+hP -mF)+fp_sin -q32 +wJ1 +fp_floor(q0(gV3 +hP +a0)+fp_sin +wJ1 fp_sinh -q32 -dM2 -mF)+fp_tanh(mF)+qG2 -mF,mF))+(x-(y-z))+(x+y)+(x*y)+fp_max(gS2 -gS2 -gS2 -x,x))))*-mF+(z-z)+dI1/m91/wW1 -aY/wW1 -dM2 -z/wV1)+h1 -dI1/dM2 -z/wW1 -mB2 -y/wW1 -mE/wV1))+hP +wJ1 +dD2 +a0)+fp_tanh(a0)+q82 +a0,a0))+(x-(y-z))+(x+y)+(x*y)+fp_max +gH2 +x,fp_max +gH2 +x,x))))*-a0+(z-z +h42 +aY1/dP1 +gG3/dP1 +dD2 +z/d01)+gU +g42 +dD2 +z/dP1 +fp_sin(y/dP1 +mB/d01))+hP q0(30l)+x)*hP q0(40l)+y)/hP q0(50l)+z -a2/q0(57.295779513082320877l))+fp_asin(x/gJ3)*q0(57.295779513082320877l)+fp_floor(-x)+dI1/fp_ceil(x)+h72 -wV1*q0(0.2l))+(-x+-x+-x+-x+-x+-aU +a2/q0(57.295779513082320877l))+fp_asin(x/q0(10l))*q0(57.295779513082320877l)+fp_floor(-x +h42 +fp_ceil(x)+h32 +d01*q0(0.2l))+(-x+-x+-x+-x+-x+-wA t33 -qO -mB2 -h72 -gJ3-x*x+y*y))+fp_cos(h72 +qL +fp_sin(h32 +q0(10l)-x*x+y*y))+gH3 +h32 q0(15l)-x*x-y*y)a2*x+y*y);} q3 -t34(gV2*vars){gV2&t=vars[0],&rvar0 -oI2,&rvar1=vars[2],&rvar2=vars[3]qA +t34(gC2*vars){gC2&t=vars[0],&rvar0 +oR2,&rvar1=vars[2],&rvar2=vars[3]qA rvar1+rvar2*rvar0-t;} q3 -t35(gV2*vars){gV2&wL=vars[0],&A_very_long_variable_name_2 -oI2,&Yet_a_third_very_long_variable_name=vars[2]qA -wL-A_very_long_variable_name_2+Yet_a_third_very_long_variable_name*wL;} +t35(gC2*vars){gC2&wP=vars[0],&A_very_long_variable_name_2 +oR2,&Yet_a_third_very_long_variable_name=vars[2]qA +wP-A_very_long_variable_name_2+Yet_a_third_very_long_variable_name*wP;} q3 t37 -qT -wV1+q0(7.5l)*q0(8l)hV1-qI -2l),aG2*gX+fp_mod(q0(7l),gX)gE1 -x;} -q3 +qW +q0(5l +gC1 +7.5l)*q0(8l)/q0(3l)-qI +2l),dM*gL+fp_mod(h72,gL +gC1 +4l +hY1 t38 -hB +hJ fp_asinh(x -dR2 -1.5l)*fp_acosh(y+q0(3l -wX +gC1 +1.5l)*fp_acosh(y+q0(3l)gC1 2.5l)*fp_atanh(z);} q3 t39 -hB -m91+m41)-mE+mB2 -y*q0(1.5l)))+z*z*z*mB2 -z*z*z-x*x-y*y)-m41*m91+m41)+x*y*z+x*y*q0(2.5l)+x*y*z*mE)+x*y*mE)+x*z*mE)+y*z*q0(2.5l)+(x*y*z*mE)-x*y*z-y*mE)-x*z*y+x*y+x*z-mE)*aU +hJ +aY1+wK1)-mB+fp_sin(y*q0(1.5l)))+z*z*z +aT2 +z*z*z-x*x-y*y)-wK1*aY1+wK1)+x*y*z+x*y*q0(2.5l)+x*y*z*mB)+x*y*mB)+x*z*mB)+y*z*q0(2.5l)+(x*y*z*mB)-x*y*z-y*mB)-x*z*y+x*y+x*z-mB)*wA t40 -hB -dC*dC+gX*dC-x*y*dC+x*dC;} +hJ +gY*gY+gL*gY-x*y*gY+x*gY;} q3 t41 -hB -x*g13+x*y+x*z+x*mB2 -y*z)-(m91)+aY))*q0(4l)hB2 +hJ +x*q0(3l)+x*y+x*z+x +aT2 +y*z)-(fp_sin(oF1 +h22 +gI2 x -hB2 +gI2 y -hB2 +gI2 z;} q3 t43 -qT +qW hP x*x)+fp_abs -hM2 -fp_abs(x)+dI1 -qU +dH2 +fp_abs(x +gC1 +1l)qP t44 -g52 -x*x -w1 -8l -wX -1.1l -o02 -w1 -7l -wX -1.2l -o02*x -w1 -6l -wX -1.3l -aO2 -w1 -5l -wX -1.4l -aO2*x -w1 -6l -wX +qW +oG1 +wQ +8l)o32 +oG1*x +wQ +7l)o42 +oG1*x*x +wQ +6l)gC1 +1.3l)*oH1 +wQ +5l)gC1 +1.4l)*oH1*x +wQ +6l)gC1 1.5l -aO2*x*x -w1 -4l -wX -1.6l -aO2*x*x*x -w1 -3l -wX +dK2,g42 +dM+q0(1.6l +dK2*x +wQ +3l)gC1 1.7l -aO2*x*x*x*x,dI1/gX -dR2 -1.8l)*(h72 -mA2 -fp_abs(-h72 -x)),g13)qU +dK2*x*x,g42 +gL +gC1 +1.8l)*(h32 +fp_pow(fp_abs(-h32 +x)),dI2 +qP t45 -g52 -x*x -w1 -7l -wX -1.1l -o02*x -w1 -5l -wX -1.2l -aO2*x -w1 +qW +oG1 +wQ +7l)o32 +oG1*x*x +wQ +5l)o42 +oH1*x +wQ 3l -qU +qP t46 -qO -fp_abs(fp_floor(gD1 -dR2 -4l)wX -1.1l)*fp_abs(fp_floor(fp_acos(y -dR2 -1.5l)))o12 -qW1(fp_acos(y)-gJ3 -wX -1.2l)*gR2-4l),gD1 -wX -1.3l)*gQ2 -9l),gD1)-q0(9l -qU +qL +fp_abs(fp_floor(gB1)+dM +o32 +fp_abs(fp_floor(fp_acos(y +gC1 +1.5l)))dL2 +gB1),(fp_acos(y)-q0(10l))o42 +g92-4l),gB1)gC1 +1.3l)*fp_min(q0(9l),gB1)-q0(9l +qP t47 -qO -q0(1.25l)*hM2 -x)+fp_exp(-x -wX -1.5l)*hM2 -y)-fp_exp(-y -wX -1.75l)*(hM2-x)+fp_exp(x))/gX -dR2 -2.0l)*(hM2-x)-fp_exp(x))/gX -dR2 -2.25l)*(aD2 +qL +q0(1.25l)*dH2 +x)+fp_exp(-x)gC1 +1.5l)*dH2 +y)-fp_exp(-y)gC1 +1.75l)*(dH2-x)+gO3))/gL +gC1 +2.0l)*(dH2-x)-gO3))/gL +gC1 +2.25l)*(aO2 y)+fp_sinh(y -qU +qP t48 -qT +qW fp_sinh((hP -x)/wV1+dI1)*q0(5l -wX -1.2l)*aD2(hP +x)/q0(5l +gC1 +1l))*d01 +o42 +aO2(hP x)/hP -gX)+dI1)*hP -gX))+fp_not(fp_or -aC -x),fp_not(x/aG2 -qU +gL +gC1 +1l))*hP +gL))aU2 +fp_or +mE +x),fp_not(x/dM +qP t49 -qT -qG2 -oF2,x)+qI-4l)*(x-q0(100l)),q0(3.3l -qU +qW +q82 +gM2,x)+qI-4l)*(x-q0(100l)),q0(3.3l +qP t50 -qO -fp_or(aT,y),fp_less(y,x))+gX -mB1 -aT,y),fp_less(y,x -wX -4l)mB1 -dU,y),o11 -y,x -wX -8l)mB1 -aT,gT2 -16l)hY3 -aT,gT2 -32l)mB1 -dU,y),hY,y -wX -64l)hY3 -dU,y),hY,y -wX -128l)mB1 -oY,y),m51 -wX -256l)mB1 -oY,gT2 -512l)mB1 -dU,y),m51 -qU +qL +fp_or(aX,y),fp_less(y,x))+gL +wL1 +aX,y),fp_less(y,x)gC1 +4l)wL1 +o4,y),dN1 +y,x)gC1 +8l)wL1 +aX,gA2 +16l +gW3 +aX,gA2 +32l)wL1 +o4,y),hX,y)gC1 +64l +gW3 +o4,y),hX,y)gC1 +128l)wL1 +w3,y),m31)gC1 +256l)wL1 +w3,gA2 +512l)wL1 +o4,y),m31 +qP t52 -qT -x+(mF+qH3 -dR2 +qW +x+(a0+g03 +gC1 3.0l -dR2 +gC1 4.0l)-q0(5.0l)-q0(6.0l)-q0(7.0l)-q0(8.0l))/q0(3.0l -dR2 -4.0l)*(mF+mB2 -qH3))+fp_cos(q0(4.0l)*q0(5.0l -dR2 -6.0l))/qH3))+fp_cos(gW2)*dM2 +gC1 +4.0l)*(a0+fp_sin(g03))+gH3 +q0(4.0l)*q0(5.0l +gC1 +6.0l))/g03))+gH3 +gD2))*dD2 q0(0.6l -dR2 +gC1 0.2l))-q0(1.1l)/hP -q0(2.1l))*h72 +q0(2.1l))*h32 q0(3.3l))+qI 2l),q0(3l -qU +qP t53 -qO -hA2,y -dR2 -4l)hY3 -fp_int(x/gJ3),fp_int(y/gJ3 -wX -8l)*((-dJ1-x)))+(dJ1-fp_not(y)))wX -16l)*(-x+fp_not(y -qU +gG2,y +gC1 +4l +gW3 +fp_int(x/q0(10l)),fp_int(y/q0(10l))gC1 +8l)*((-dC1-x)))+(dC1-fp_not(y))))gC1 +16l)*(-x +aU2 +y +qP t54 -qO -aT,y)+dU,y)+oG,y)+hY,y)+m51)+oY,y)+hA2,y)qD3 -x,y)+fp_not(x)+fp_truth(x)+fp_not(fp_and(aT,y),aT,g13)))qD3 -fp_not(oG,y)),oG,g13 -qU +qL +aX,y)+o4,y)+oI,y)+hX,y)+m31)+w3,y)+fp_and(x,y)+fp_or(x,y)aU2 +x)+fp_truth(x)aU2 +fp_and(aX,y),aX,dI2))+fp_or(fp_not(oI,y)),oI,q0(3l)qP t55 -qO -fp_less(qW -q0(1.2l)),oF2)o12 -mA2 -y,q0(2.5l)),q0(0l -qM -x*x,q0(0l -wX -3l)*fp_less(mA2 -y,g13),q0(0l -wX -4l)*fp_less(qW -aG2,dT2 +qL +fp_less(qO +q0(1.2l)),gM2)dL2 +fp_pow(y,q0(2.5l)),gM2)qU +x*x,gM2 +gC1 +3l)*fp_less(fp_pow(y,dI2,gM2 +gC1 +4l)*fp_less(qO +dM,aK2 t56 -qT -fp_mod(q0(1.75e21l),aU +qW +fp_mod(q0(1.75e21l),wA t58 -qO -fp_less(-x,g13)+oG*-dI1,wV1)+aT*-g13,gJ3)+aT*-g13,y*dN2+aT*q0(4l),y*dN2+aT*q0(6l),y*-g13)o12-x,q0(11l))o12 -wV1,-y);} +qL +fp_less(-x,dI2+oI*-q0(1l),d01)+aX*-q0(3l),q0(10l))+aX*-q0(3l),y*h72)+aX*h22,y*h72)+aX*q0(6l),y*-dI2 +dL2-x,q0(11l))dL2 +d01,-y);} q3 t59 -qT -fp_less(mE),m91))+(mE)-m91))+((fp_sinh(x)-aD2 -x))-(fp_sinh(x)/aD2 -x)wX +qC2 +mB),aY1))+(mB)-aY1))+((fp_sinh(x)-aO2 +x))-(fp_sinh(x)/aO2 +x))gC1 q0(1l -qU +qP I1 -hB -dI1+gX+g13-q0(4l)*wV1*q0(6l)hV1+gJ3/gX-q0(9l)%gX+(x+y-q0(11l)*x+z/gJ3+x/(z+q0(31l)qU +hJ +q0(1l)+gL+q0(3l)-h22*d01*q0(6l)/q0(3l +gC1 +10l)/gL-q0(9l)%gL+(x+y-q0(11l)*x+z/q0(10l)+x/(z+q0(31l)qP I2 -hB((fp_abs(x*y)q0(30l))&&(z>wV1)))?fp_min(x,gX*y):fp_max(y,z*q0(2l -qU +hJ((fp_abs(x*y)q0(30l))&&(z>d01)))?fp_min(x,gL*y):fp_max(y,z*q0(2l +qP I3 -hB(x+y)+gX*(x-z -dR2 +hJ(x+y)+gL*(x-z +gC1 3l)*(x*y -dR2 -4l)*(y/z)+wV1*fp_mod(x,z -dR2 +gC1 +4l)*(y/z +gC1 +5l)*fp_mod(x,z +gC1 6l)*(xgX*z -dR2 -9l)*(y>=g13*z -dR2 +gC1 +8l)*(x>gL*z +gC1 +9l)*(y>=q0(3l)*z +gC1 10l)*(x+y!=z -dR2 +gC1 11l)*(q0(100l)+x -dR2 +gC1 12l)*(q0(101l)-y -dR2 +gC1 13l)*(q0(102l)*z -dR2 +gC1 14l)*(q0(103l)/x);} } #define Value_t double @@ -5788,11 +5847,11 @@ Yk Sl Tl Ul -Wl{2,-11,11,N(0.3)qN,qG +Wl{2,-11,11,N(0.3)qM,qG Mod,qG Mod -oC",z" -,g9"mod" +dW",z" +g0"mod" ,"x%z" } ,Yl @@ -5802,295 +5861,297 @@ Um Wm Ym Sn{1 -d4 -mM +d6 +mL Acos qB Acos -wY"acos" +gG1"acos" ,"acos" -aP2 -dK1 +aV2 +gB2 Acos_deg qB Acos_deg -wY"acos_deg" +gG1"acos_deg" ,"acos" -hD -1,400,mD +hA +1,400,mA Acosh qB Acosh -wY -mR2,mR2 -hD -1,400,gF1 +gG1 +q23,q23 +hA +1,400,q92 Acosh_deg qB Acosh_deg -wY"acosh_deg" -,mR2 -aP2 -mM +gG1"acosh_deg" +,q23 +aV2 +mL Asin qB Asin -wY"asin" +gG1"asin" ,"a" -gA3 -d4 -dK1 +gY3 +d6 +gB2 Asin_deg qB Asin_deg -wY"asin_deg" +gG1"asin_deg" ,"a" -gA3 -d4 -mM +gY3 +d6 +mL Asinh qB Asinh -wY"a" -wL2,"a" -wL2 -aP2 -dK1 +gG1"a" +oA2,"a" +oA2 +aV2 +gB2 Asinh_deg qB Asinh_deg -wY"asinh_deg" +gG1"asinh_deg" ,"a" -wL2 -hD oA2 -mD +hA +gF3 +mA Atan qB Atan -wY"atan" +gG1"atan" ,"atan(x)" } -,{2,-4 -o01 +,{gX3 +dQ1 Atan2 qB Atan2 -aS2"/" -aA2,aA2"(x" -mI1{2,-4,4,N(0.05)g82 +mC2"/" +aH2,aH2"(x" +mF1{gX3 +N(0.05)gF1 Atan2_deg qB Atan2_deg -aS2"/atan2_deg" -,aA2"(x" -mI1{1,oA2 -gF1 +mC2"/atan2_deg" +,aH2"(x" +mF1{1,gF3 +q92 Atan_deg qB Atan_deg -wY"atan_deg" +gG1"atan_deg" ,"atan" -aP2 -mM +aV2 +mL Atanh qB Atanh -wY"atanh" +gG1"atanh" ,"atanh" -hD-50000,50000,1000 -qN +hA-50000,50000,1000 +qM qB Cbrt qB Cbrt -wY"cbrt" +gG1"cbrt" ,"cbrt" -hD-10,10,hF2 +hA-10,10,hA2 qB Ceil qB Ceil -wY"ceil" +gG1"ceil" ,"ceil" -hD-aR2 +hA +dW2 Cos qB Cos -wY"cos" +gG1"cos" ,"cos" -hD-aZ -g82 +hA-mM +gF1 Cos_deg qB Cos_deg -wY"cos_deg" +gG1"cos_deg" ,"cos" -hD-140,140,mD +hA-140,140,mA Cosh qB Cosh -wY"cosh" +gG1"cosh" ,"cosh" -hD-140,140,gF1 +hA-140,140,q92 Cosh_deg qB Cosh_deg -wY"cosh_deg" +gG1"cosh_deg" ,"cosh" -hD-90,90,mM +hA-90,90,mL Exp qB Exp -wY"exp" +gG1"exp" ,"exp" -hD-90,90,mM +hA-90,90,mL Exp2 qB Exp2 -wY"exp2" +gG1"exp2" ,"exp2" -hD-10,10,hF2 +hA-10,10,hA2 qB Floor qB Floor -wY"floor" +gG1"floor" ,"floor(x)" } -,{2,-4 -o01 +,{gX3 +dQ1 Hypot qB Hypot -aS2"/hypot" +mC2"/hypot" ,"hypot(x" -mI1 +mF1 Tn Un -WN1{1,N(1e-6),4000,mD +SO1{1,N(1e-6),4000,mA Log2 qB Log2 -wY"log2" +gG1"log2" ,"log2" -hD -N(1e-6),4000,mD +hA +N(1e-6),4000,mA Log10 qB Log10 -wY"log10" +gG1"log10" ,"log10(x)" } ,T4 U4{2,1,20,1 -qN +qM qB Pow_neg qB Pow_neg -aS2"/pow_neg" +mC2"/pow_neg" ,"pow(-x*0.25,y" -g31{2,N(0.01)o01 +o02{2,N(0.01),4,dQ1 Pow_pos qB Pow_pos -aS2"/pow_pos" -,dB2 -mI1{1,-aR2 +mC2"/pow_pos" +,d12 +mF1{1,dW2 Sin qB Sin,qH"/sin" -,gA3,-aZ -g82 +,gY3,-mM +gF1 Sin_deg qB Sin_deg,qH"/sin_deg" -,gA3,oA2 -mD +,gY3,gF3 +mA Sinh qB Sinh,qH"/sinh" -,wL2 -hD -oA2 -gF1 +,oA2 +hA +gF3 +q92 Sinh_deg qB Sinh_deg,qH"/sinh_deg" -,wL2 -hD +,oA2 +hA 0,100000,1000 -qN +qM qB Sqrt qB Sqrt -wY"sqrt" +gG1"sqrt" ,"sqrt" -hD -N(-1.3),N(1.3),N(0.05)qN -qB +hA +N(-1.3),N(1.3),dQ1 Tan qB Tan -wY"tan" +gG1"tan" ,"tan" -hD-89,89,N(0.25)g82 +hA-89,89,N(0.25)gF1 Tan_deg qB Tan_deg -wY"tan_deg" +gG1"tan_deg" ,"tan" -hD-aR2 +hA +dW2 Tanh qB Tanh -wY"tanh" +gG1"tanh" ,"tanh" -hD-aZ -g82 +hA-mM +gF1 Tanh_deg qB Tanh_deg -wY"tanh_deg" +gG1"tanh_deg" ,"tanh" -hD-4000,4000,mD +hA-4000,4000,mA Trunc qB Trunc -wY"trunc" +gG1"trunc" ,"trunc" -hD +hA 0,1,1 -qN,hJ -E_d,hJ +qM,hG +E_d,hG E_d -a4"e_d" -aX2" naturalnumber" -d31 -L2_d,hJ +wT"e_d" +,dC3"naturalnumber" +hX1 +L2_d,hG L2_d -a4"l2_d" -aX2" logtwo" -d31 -L10_d,hJ +wT"l2_d" +,dC3"logtwo" +hX1 +L10_d,hG L10_d -a4"l10_d" -aX2" logten" -d31 -Pi_d,hJ +wT"l10_d" +,dC3"logten" +hX1 +Pi_d,hG Pi_d -a4"pi_d" -aX2" pi" +wT"pi_d" +,dC3"pi" } ,W4 -YN1 -SO1 TO1 UO1 WO1 YO1 +SP1 +TP1 Wn Y4 Yn @@ -6099,133 +6160,136 @@ To S5 T5 U5 -W5{qX3 -N(0.1)qN +W5{gC3 +N(0.1)qM q4 Absyxpow_neg q4 Absyxpow_neg -w11"absyxpow_neg" +wU"absyxpow_neg" ,"(x^-4)^1.5" } -,{qX3 -N(0.1)qN +,{gC3 +N(0.1)qM q4 Absyxpow_pos q4 Absyxpow_pos -w11"absyxpow_pos" +wU"absyxpow_pos" ,"(x^4)^1.5" } -,{1 -gS +,qK3 Acos q4 Acos -w11"acos" -,"acos(0.7" -h0 +wU"acos" +,"acos(" +dM2,aW2 Acos_deg q4 Acos_deg -w11"acos_deg" -,"acos(0.7" -m61 +wU"acos_deg" +,"acos(" +dM2 +qM +q4 Acosh q4 Acosh -w11 -mR2,mR2 -qN2 +wU +q23,q23"(" +wL Acosh_deg q4 Acosh_deg -w11"acosh_deg" -,mR2"(" -dN +wU"acosh_deg" +,q23"(" +wM Uo Wo -SP1 -TP1 +UP1 +WP1 Yo Sp -UP1{1 -gS +YP1 +qK3 Asin q4 Asin -oZ1,"asin(0.7" -h0 +wU"asin" +,"asin(" +dM2,aW2 Asin_deg q4 Asin_deg -oZ1"_deg" -,"asin(0.7" -m61 +wU"asin_deg" +,"asin(" +dM2 +qM +q4 Asinh q4 Asinh -oZ1"h" -,"a" -wL2 -qN2 +wU"a" +oA2,"a" +oA2"(" +wL Asinh_deg q4 Asinh_deg -oZ1"h_deg" +wU"asinh_deg" ,"a" -wL2"(" -dN +oA2"(" +wM Tp -Up{1 -gS +Up +qK3 Atan q4 Atan -w11"atan" +wU"atan" ,"atan" -hM1 +m8 Atan2 q4 Atan2 -w11 -aA2,aA2"(5,4" -h0 +wU +aH2,aH2"(5,4" +gH,aW2 Atan2_deg q4 Atan2_deg -w11"atan2_deg" -,aA2"(5,4)+x" +wU"atan2_deg" +,aH2"(5,4)+x" } -,Wp{1,0,1,1,true -q4 +,Wp{1,0,1,1,aW2 Atan_deg q4 Atan_deg -w11"atan_deg" +wU"atan_deg" ,"atan" -hM1 +m8 Atanh q4 Atanh -w11"atanh" -,"atanh(0.7" -m61 +wU"atanh" +,"atanh(" +dM2 +qM +q4 Cbrt q4 Cbrt -w11"cbrt" +wU"cbrt" ,"cbrt" -hM1 +m8 Ceil q4 Ceil -w11"ceil" +wU"ceil" ,"ceil(" -dN +wM Yp -WP1 -YP1 SQ1 TQ1 UQ1 @@ -6275,37 +6339,39 @@ SZ1 TZ1 UZ1 WZ1 -YZ1{1 -gS +YZ1 +Sa1 +Ta1 +qK3 Cos q4 Cos -w11"cos" -,"cos" -qN2 +wU"cos" +,"cos(" +wL Cos_deg q4 Cos_deg -w11"cos_deg" +wU"cos_deg" ,"cos" -hM1 +m8 Cosh q4 Cosh -w11"cosh" -,"cosh" -qN2 +wU"cosh" +,"cosh(" +wL Cosh_deg q4 Cosh_deg -w11"cosh_deg" +wU"cosh_deg" ,"cosh(" -dN +wM Sq Tq -Sa1 -Ta1 Ua1 +Wa1 +Ya1 Y5 Uq Wq @@ -6315,49 +6381,47 @@ T6 U6 W6 Sr -Wa1 -Ya1{1 -gS +Sb1 +Tb1 +qK3 Exp q4 Exp -aT2"p" +wU"exp" ,"exp" -hM1 +m8 Exp2 q4 Exp2 -aT2"p2" +wU"exp2" ,"exp2(" -dN +wM Tr -Ur{1,hN1 +Ur{1,aH Exp2xpow q4 Exp2xpow -aT2"p2xpow" -,aJ -o22 +wU"exp2xpow" +,"exp2(x)" +dN2 Wr Yr Ss -Ts{1,hN1 +Ts{1,aH Expxpow q4 Expxpow -aT2"pxpow" -,aI -o22{1 -gS +wU"expxpow" +,aR +dN2 +qK3 Floor q4 Floor -w11"floor" +wU"floor" ,"floor(" -dN +wM Us -Sb1 -Tb1 Ub1 Wb1 Yb1 @@ -6369,15 +6433,17 @@ Yc1 Sd1 Td1 Ud1 -Wd1{1 -gS +Wd1 +Yd1 +Se1 +qK3 Hypot q4 Hypot -w11"hypot" +wU"hypot" ,"hypot(5,4)+x" } -,Yd1 +,Te1 Ws Ys St @@ -6386,80 +6452,80 @@ Ut Wt Yt Y6 -Se1{1 -gS +Ue1 +qK3 Log q4 Log -w11"log" +wU"log" ,"log" -hM1 +m8 Log2 q4 Log2 -w11"log2" +wU"log2" ,"log2(" -dN -Te1 -Ue1{1 -gS +wM +We1 +Ye1 +qK3 Log10 q4 Log10 -w11"log10" +wU"log10" ,"log10(" -dN -We1 -Ye1 +wM Sf1 Tf1 Uf1 Wf1 Yf1 -S7 -T7 Sg1 Tg1 +S7 +T7 Ug1 Wg1 +Yg1 +Sh1 U7 W7 -Yg1{1 -gS +Th1 +qK3 Mulminus1 q4 Mulminus1 -w11"mulminus1" -aY2"-1" +wU"mulminus1" +,"x*-1" } -,Sh1 -Th1{1 -gS +,Uh1 +Wh1 +qK3 Neg q4 Neg -w11"neg" +wU"neg" ,"((-((5))))+x" } ,Y7 -Uh1 -Su -Wh1 Yh1 +Su +Si1 +Ti1 S8 Tu -Si1 +Ui1 T8 U8 -Ti1 -Ui1 -W8 Wi1 Yi1 +W8 Sj1 Tj1 Uj1 Wj1 +Yj1 +Sk1 Y8 S9 T9 @@ -6469,16 +6535,18 @@ Y9 SA TA UA -Yj1{1 -gS +Tk1 +qK3 Pow_neg q4 -Pow_neg,w21"_neg" +Pow_neg,dZ1"_neg" ,"pow(-0.25,4" -m61 +gH +qM +q4 Pow_pos q4 -Pow_pos,w21"_pos" +Pow_pos,dZ1"_pos" ,"pow(1.1, 7.1)+x" } ,Uu @@ -6487,151 +6555,148 @@ Yu Sv Tv Uv -Wv{1,hN1 +Wv{1,aH Powxpow q4 Powxpow,0,q7"/powxpow" ,"(x^1.7)" -o22 +dN2 Yv -Sw{1,N(0.01),10,N(0.05)qN +Sw{1,N(0.01),10,N(0.05)qM q4 Rsqrt q4 -Rsqrt -w11"rsqrt" -,"1/sqrt(x)" -} -,{1 -gS +Rsqrt +wU"rsqrt" +,"1/sqrt" +hA +0,1,wB Sin q4 -Sin,aW,"sin(1.1" -h0 +Sin,aK,"sin(" +wL Sin_deg q4 -Sin_deg,aW"_deg" +Sin_deg,aK"_deg" ,"sin(" -dN -Sk1 -Tk1 +wM Uk1 Wk1 Yk1 Sl1 Tl1 Ul1 -Wl1{1 -gS +Wl1 +Yl1 +Sm1 +qK3 Sinh q4 -Sinh,aW"h" -,wL2 -qN2 +Sinh,aK"h" +,oA2"(" +wL Sinh_deg q4 -Sinh_deg,aW"h_deg" -,wL2"(" -dN +Sinh_deg,aK"h_deg" +,oA2"(" +wM WA YA SB TB UB WB -Yl1 +Tm1 Tw Uw Ww -Sm1{qX3 -N(0.1)qN +Um1{gC3 +N(0.1)qM q4 Sqrsqrt q4 Sqrsqrt -w11"sqrsqrt" +wU"sqrsqrt" ,"sqrt" -dC2{1 -gS +d22 +qK3 Sqrt q4 Sqrt -w11"sqrt" +wU"sqrt" ,"sqrt(" -dN -Tm1 -Um1{1,hN1 +wM +Wm1 +Ym1{1,aH Sqrxpow q4 Sqrxpow -w11"sqrxpow" +wU"sqrxpow" ,"(x^2)^2402" } -,{qX3 -N(0.1)qN +,{gC3 +N(0.1)qM q4 Sqrxpow_nonint q4 Sqrxpow_nonint -w11"sqrxpow_nonint" +wU"sqrxpow_nonint" ,"(x^2)^3.5" } -,Wm1 -Ym1 -Sn1{1 -gS +,Sn1 +Tn1 +Un1 +qK3 Tan q4 Tan -w11"tan" -,"tan" -qN2 +wU"tan" +,"tan(" +wL Tan_deg q4 Tan_deg -w11"tan_deg" +wU"tan_deg" ,"tan" -hM1 +m8 Tanh q4 Tanh -w11"tanh" -,"tanh" -qN2 +wU"tanh" +,"tanh(" +wL Tanh_deg q4 Tanh_deg -w11"tanh_deg" +wU"tanh_deg" ,"tanh" -hM1 +m8 Trunc q4 Trunc -w11"trunc" +wU"trunc" ,"trunc(" -dN +wM YB SC Yw -Tn1 -Un1 Wn1 Yn1 So1 To1 +Uo1 +Wo1 TC Sx -UC{1,0,10,N(0.01)qN +UC{1,0,10,N(0.01)qM q4 Ypowxpow q4 Ypowxpow -w11"ypowxpow" +wU"ypowxpow" ,"(x^38.5)^5" } -,Uo1 -Wo1 -Yo1 +,Yo1 Sp1 Tp1 Up1 @@ -6672,10 +6737,12 @@ Tw1 Uw1 Ww1 Yw1 -Tx -Ux Sx1 Tx1 +Tx +Ux +Ux1 +Wx1 WC YC Wx @@ -6793,19 +6860,22 @@ U51 W51 Y51 S61 -Ux1 -Wx1 Yx1 Sy1 +T61 +U61 +W61 +Ty1 +Uy1 UQ WQ YQ SR TR UR -Ty1 -Uy1 Wy1 +Yy1 +Sz1 WR YR SS @@ -6831,24 +6901,24 @@ SW TW UW WW -T61 -U61 -YW -W61 Y61 S71 +YW T71 -SX U71 -TX W71 Y71 +SX S81 +TX +T81 +U81 +W81 UX WX YX SY -T81 +Y81 TY UY WY @@ -6867,28 +6937,28 @@ Sb Tb Ub Wb -Yy1 +Tz1 Yb Sc -U81 -W81 -Y81 S91 T91 U91 W91 Y91 -Tc -Uc -Wc SA1 TA1 UA1 +Tc +Uc +Wc WA1 YA1 SB1 -Sz1 -Tz1 +TB1 +UB1 +WB1 +Uz1 +Wz1 Yc Sd Td @@ -6899,9 +6969,6 @@ Se Te Ue We -TB1 -UB1 -WB1 YB1 SC1 TC1 @@ -6912,34 +6979,32 @@ SD1 TD1 UD1 WD1 +YD1 +SE1 +TE1 Ye Sf Tf Uf Wf Yf -YD1 +UE1 Sg -Uz1 -Wz1 Yz1 S_1 T_1 U_1 +W_1 +Y_1 Tg -SE1 -TE1 -UE1 WE1 -Ug YE1 SF1 TF1 +Ug UF1 WF1 -#if !defined(FP_DISABLE_EVAL) YF1 -#endif /*!defined(FP_DISABLE_EVAL) */ SG1 TG1 UG1 @@ -6949,28 +7014,28 @@ SH1 TH1 UH1 WH1 +YH1 +SI1 Wg Yg -YH1 +TI1 Sh Th Uh -SI1 -TI1 -Wh UI1 WI1 +Wh YI1 SJ1 -Yh TJ1 UJ1 +Yh WJ1 YJ1 -Si -Ti SK1 TK1 +Si +Ti UK1 WK1 YK1 @@ -6981,14 +7046,16 @@ WL1 YL1 SM1 TM1 -Ui UM1 WM1 +Ui YM1 SN1 TN1 -Wi UN1 +WN1 +Wi +YN1 TestType()} ; #undef Value_t @@ -6998,19 +7065,18 @@ TestType()} #define N(x,y) (q0(x,y)) #define Value_t std::complex namespace -cpp_02unit_functions{qM3 +cpp_02unit_functions +mE2 Cos_cd -qT +qW cos -hZ1 +wD1 Sin_cd -qT +qW sin(x);} } template<>const -TestTypeRegressionTests::Tests[]={W_1 -Y_1 -S02 +TestTypeRegressionTests::Tests[]={S02 T02 U02 W02 @@ -7035,25 +7101,24 @@ T42 U42 W42 Y42 -S52{1,N(-hV3,+200.0),N(hV3,-200.0),N(5.0,-0.025)qN +S52 +T52 +U52{1,N(-dD3,+200.0),N(dD3,-200.0),N(5.0,-0.025)qM qB -Cos_cd -hD2"cos_cd" +Cos_cd,dQ2"cos_cd" ,"cos(x)" } -,T52 -U52 -W52 +,W52 Y52 S62 T62 -U62{1,N(-hV3,+200.0),N(hV3,-200.0),N(5.0,-0.025)qN +U62 +W62 +Y62{1,N(-dD3,+200.0),N(dD3,-200.0),N(5.0,-0.025)qM qB -Sin_cd,hE2"_cd" -,qA2} -,W62 -Y62 -S72 +Sin_cd,dR2"_cd" +,q42} +,S72 T72 U72 W72 @@ -7337,6 +7402,11 @@ S03 T03 U03 W03 +Y03 +S13 +T13 +U13 +W13 TestType()} ; #undef Value_t @@ -7346,19 +7416,18 @@ TestType()} #define N(x,y) (q0(APP(x,f),APP(y,f))) #define Value_t std::complex namespace -cpp_02unit_functions{qM3 +cpp_02unit_functions +mE2 Cos_cf -qT +qW cos -hZ1 +wD1 Sin_cf -qT +qW sin(x);} } template<>const -TestTypeRegressionTests::Tests[]={W_1 -Y_1 -S02 +TestTypeRegressionTests::Tests[]={S02 T02 U02 W02 @@ -7383,26 +7452,25 @@ T42 U42 W42 Y42 -S52{1,N(-40.0,+0.5),N(40.0,-0.5),N(0.1,-0.00125)qN +S52 +T52 +U52{1,N(-40.0,+0.5),N(40.0,-0.5),N(0.1,-0.00125)qM qB -Cos_cf -hD2"cos_cf" +Cos_cf,dQ2"cos_cf" ,"cos(x)" } -,T52 -W52 -Y52 +,W52 S62 T62 -U62{1,N(-40.0,+0.5),N(40.0,-0.5),N(0.1,-0.00125)qN +U62 +W62 +Y62{1,N(-40.0,+0.5),N(40.0,-0.5),N(0.1,-0.00125)qM qB -Sin_cf,hE2"_cf" -,qA2} -,W62 -UF2 -WF2 -WG2 -YG2 +Sin_cf,dR2"_cf" +,q42} +,S72 +YF2 +SG2 SH2 TH2 UH2 @@ -7637,6 +7705,11 @@ S03 T03 U03 W03 +Y03 +S13 +T13 +U13 +W13 TestType()} ; #undef Value_t @@ -7646,35 +7719,33 @@ TestType()} #define N(x,y) (q0(APP(x,l),APP(y,l))) #define Value_t std::complex template<>const -TestTypeRegressionTests::Tests[]={Y_1 -T02 -U02 +TestTypeRegressionTests::Tests[]={T02 +W02 Y02 -S12 T12 U12 W12 +Y12 S22 -T22 U22 W22 +Y22 S32 U32 -W32 Y32 S42 +T42 U42 Y42 -S52 T52 -Y52 -S62 +U52 +W52 T62 U62 -UF2 -WF2 -WG2 -YG2 +W62 +Y62 +YF2 +SG2 SH2 TH2 UH2 @@ -7798,11 +7869,11 @@ Ye2 Sf2 Tf2 Uf2 +Wf2 Yf2 Sg2 Tg2 Ug2 -Wg2 Yg2 Sh2 Th2 @@ -7861,11 +7932,11 @@ Wr2 Yr2 Ss2 Ts2 +Us2 Ws2 Ys2 St2 Tt2 -Ut2 Wt2 Yt2 Su2 @@ -7907,6 +7978,11 @@ S03 T03 U03 W03 +Y03 +S13 +T13 +U13 +W13 TestType()} ; #undef Value_t @@ -7917,300 +7993,312 @@ TestType()} #define P(x) N(x##.0) #define Value_t float namespace -cpp_01unit_operators{qM3 +cpp_01unit_operators +mE2 Modf(qD,&z -oI2 +oR2 qA -fmodf(x,z)qT3 -cpp_02unit_functions{qM3 +fmodf(x,z +g43 +cpp_02unit_functions +mE2 Acosf -qT +qW acosf -hZ1 -g23 -dY1 +wD1 +gD3 +wF1 acosf(x -qS3 +mD2 Acoshf -hY1 -x+o32-1.0f -qS3 -qU3 -dY1 +hW1 +x+dO2-1.0f +mD2 +g93 +wF1 fp_acosh(x -qS3 +mD2 Asinf -qT +qW asinf -hZ1 -g43 -dY1 +wD1 +gE3 +wF1 asinf(x -qS3 +mD2 Asinhf -hY1 -x+o32+1.0f -qS3 -qV3 -dY1 +hW1 +x+dO2+1.0f +mD2 +gI3 +wF1 fp_asinh(x -qS3 +mD2 Atan2f -qO -o42 +qL +dP2 x,y);} q0 Atan2f_deg -qO -r2d(o42 +qL +r2d(dP2 x,y -qS3 +mD2 Atanf -qT +qW atanf -hZ1 +wD1 Atanf_deg -dY1 +wF1 atanf(x -qS3 +mD2 Atanhf -hY1(1.0f+x)/(1.0f-x))*0.5f;} +hW1(1.0f+x)/(1.0f-x))*0.5f;} q0 Cbrtf -qT +qW fp_cbrt -hZ1 +wD1 Ceilf -qT +qW ceilf -hZ1 +wD1 Cosf -qT +qW cosf -hZ1 +wD1 Cosf_deg -qT -cosf(g51 +qW +cosf(g11 Coshf -qT +qW coshf -hZ1 +wD1 Coshf_deg -qT -coshf(g51 +qW +coshf(g11 Exp2f -qI3(x*fp_const_log2(qS3 +qW +expf(x*fp_const_log2(mD2 Expf -qI3 -hZ1 +qW +expf +wD1 Floorf -qT +qW floorf -hZ1 +wD1 Hypotf -qO -o32+y*y);} +qL +dO2+y*y);} q0 Log2f -hY1 +hW1 x)*1.4426950408889634073599246810018921374266f;} q0 Log10f -qT +qW log10f -hZ1 +wD1 Logf -hY1 +hW1 x);} q0 Pow_negf -qO +qL powf(-x*0.25f,y);} q0 Pow_posf -qO +qL powf(x,y);} q0 Sinf -qT +qW sinf -hZ1 +wD1 Sinf_deg -qT -sinf(g51 +qW +sinf(g11 Sinhf -qT +qW sinhf -hZ1 +wD1 Sinhf_deg -qT -sinhf(g51 +qW +sinhf(g11 Sqrtf -qT +qW sqrtf -hZ1 +wD1 Tanf -qT +qW tanf -hZ1 +wD1 Tanf_deg -qT -tanf(g51 +qW +tanf(g11 Tanhf -qT +qW tanhf -hZ1 +wD1 Tanhf_deg -qT -tanhf(g51 +qW +tanhf(g11 Truncf -qT -fp_trunc(x)qT3 -cpp_03unit_constants{qM3 +qW +fp_trunc(x +g43 +cpp_03unit_constants +mE2 E_f -qI3(x*0.0f+1.0f);} +qW +expf(x*0.0f+1.0f);} q0 L2_f -hY1 +hW1 x*0.0f+2.0f);} q0 L10_f -hY1 +hW1 x*0.0f+10.0f);} q0 Pi_f -qT -o42 -x*0.0f,-1.0f)qT3 -cpp_10optimizer_bytecode{qM3 +qW +dP2 +x*0.0f,-1.0f +g43 +cpp_10optimizer_bytecode +mE2 Acosf -qT +qW acosf(0.7f -hW -g23 -dY1 -acosf(0.7f)hW +d1 +gD3 +wF1 +acosf(0.7f)d1 Acoshf -hC2+sqrtf(1.1f*1.1f-1.0f)hW -qU3 -dY1 -fp_acosh(1.1f)hW +h92+sqrtf(1.1f*1.1f-1.0f)d1 +g93 +wF1 +fp_acosh(1.1f)d1 Asinf -qT +qW asinf(0.7f -hW -g43 -dY1 -asinf(0.7f)hW +d1 +gE3 +wF1 +asinf(0.7f)d1 Asinhf -hC2+sqrtf(1.1f*1.1f+1.0f)hW -qV3 -dY1 -fp_asinh(1.1f)hW +h92+sqrtf(1.1f*1.1f+1.0f)d1 +gI3 +wF1 +fp_asinh(1.1f)d1 Atan2f -qT -o42 -5.0f,qJ3 +qW +dP2 +5.0f,g13 Atan2f_deg -dY1 -o42 -5.0f,4.0f)hW +wF1 +dP2 +5.0f,4.0f)d1 Atanf -qT +qW atanf -wT1 +m11 Atanf_deg -dY1 -atanf(1.1f)hW +wF1 +atanf(1.1f)d1 Atanhf -hY1(1.0f+0.7f)/(1.0f-0.7f))*0.5f+x;} +hW1(1.0f+0.7f)/(1.0f-0.7f))*0.5f+x;} q0 Cbrtf -qT +qW fp_cbrt -wT1 +m11 Ceilf -qT +qW ceilf -wT1 +m11 Cosf -qT +qW cosf -wT1 +m11 Cosf_deg -qT -cosf(g61 +qW +cosf(g21 Coshf -qT +qW coshf -wT1 +m11 Coshf_deg -qT -coshf(g61 +qW +coshf(g21 Exp2f -qI3(1.1f*0.693147180559945309417232121458176568075500134f -hW +qW +expf(1.1f*0.693147180559945309417232121458176568075500134f +d1 Expf -qI3 -wT1 +qW +expf +m11 Floorf -qT +qW floorf -wT1 +m11 Hypotf -qT -sqrtf(5.0f*5.0f+4.0f*qJ3 +qW +sqrtf(5.0f*5.0f+4.0f*g13 Log2f -hC2)*1.4426950408889634073599246810018921374266f+x;} +h92)*1.4426950408889634073599246810018921374266f+x;} q0 Log10f -qT +qW log10f -wT1 +m11 Logf -hC2 -hW +h92 +d1 Pow_negf -qT -powf(-0.25f,qJ3 +qW +powf(-0.25f,g13 Pow_posf -qT +qW powf(1.1f,7.1f -hW +d1 Sinf -qT +qW sinf -wT1 +m11 Sinf_deg -qT -sinf(g61 +qW +sinf(g21 Sinhf -qT +qW sinhf -wT1 +m11 Sinhf_deg -qT -sinhf(g61 +qW +sinhf(g21 Sqrtf -qT +qW sqrtf -wT1 +m11 Tanf -qT +qW tanf -wT1 +m11 Tanf_deg -qT -tanf(g61 +qW +tanf(g21 Tanhf -qT +qW tanhf -wT1 +m11 Tanhf_deg -qT -tanhf(g61 +qW +tanhf(g21 Truncf -qT +qW 1.0f+x;} } template<>const @@ -8225,10 +8313,10 @@ Yk Sl Tl Ul -Wl{2,-11,11,N(0.3)qN,qG +Wl{2,-11,11,N(0.3)qM,qG Modf,0 -oC",z" -,g9"modf" +dW",z" +g0"modf" ,"x%z" } ,Yl @@ -8238,289 +8326,277 @@ Um Wm Ym Sn{1 -d4 -mM -Acosf -hD2"acosf" +d6 +mL +Acosf,dQ2"acosf" ,"acos" -aP2 -dK1 -g23 -hD2"acosf_deg" +aV2 +gB2 +gD3,dQ2"acosf_deg" ,"acos" -hD -1,400,mD -Acoshf -hD2"acoshf" -,mR2 -hD -1,400,gF1 -qU3 -hD2"acoshf_deg" -,mR2 -aP2 -mM -Asinf -hD2"asinf" +hA +1,400,mA +Acoshf,dQ2"acoshf" +,q23 +hA +1,400,q92 +g93,dQ2"acoshf_deg" +,q23 +aV2 +mL +Asinf,dQ2"asinf" ,"a" -gA3 -d4 -dK1 -g43 -hD2"asinf_deg" +gY3 +d6 +gB2 +gE3,dQ2"asinf_deg" ,"a" -gA3 -d4 -mM -Asinhf -hD2"asinhf" +gY3 +d6 +mL +Asinhf,dQ2"asinhf" ,"a" -wL2 -aP2 -dK1 -qV3 -hD2"asinhf_deg" +oA2 +aV2 +gB2 +gI3,dQ2"asinhf_deg" ,"a" -wL2"(x)" +oA2"(x)" } -,{2,-4 -o01 -Atan2f,wM"/atan2f" -,aA2"(x" -mI1{2,-4,4,N(0.05)g82 -Atan2f_deg,wM"/atan2f_deg" -,aA2"(x" -mI1{1,oA2 -mD -Atanf -hD2"atanf" +,{gX3 +dQ1 +Atan2f,wR"/atan2f" +,aH2"(x" +mF1{gX3 +N(0.05)gF1 +Atan2f_deg,wR"/atan2f_deg" +,aH2"(x" +mF1{1,gF3 +mA +Atanf,dQ2"atanf" ,"atan" -hD -oA2 -gF1 -Atanf_deg -hD2"atanf_deg" +hA +gF3 +q92 +Atanf_deg,dQ2"atanf_deg" ,"atan" -aP2 -mM -Atanhf -hD2"atanhf" +aV2 +mL +Atanhf,dQ2"atanhf" ,"atanh" -hD-50000,50000,1000 -qN +hA-50000,50000,1000 +qM qB -Cbrtf -hD2"cbrtf" +Cbrtf,dQ2"cbrtf" ,"cbrt" -hD-10,10,hF2 +hA-10,10,hA2 qB -Ceilf -hD2"ceilf" +Ceilf,dQ2"ceilf" ,"ceil" -hD-aR2 -Cosf -hD2"cosf" +hA +dW2 +Cosf,dQ2"cosf" ,"cos" -hD -oA2 +hA +gF3 5 -g82 -Cosf_deg -hD2"cosf_deg" +gF1 +Cosf_deg,dQ2"cosf_deg" ,"cos" -hD -hZ3 -N(0.025)qN +hA +dM3 +N(0.025)qM qB -Coshf -hD2"coshf" +Coshf,dQ2"coshf" ,"cosh" -hD -hZ3 -gF1 -Coshf_deg -hD2"coshf_deg" +hA +dM3 +q92 +Coshf_deg,dQ2"coshf_deg" ,"cosh" -hD-90,90,mM -Exp2f -hD2"exp2f" +hA-90,90,mL +Exp2f,dQ2"exp2f" ,"exp2" -hD-20,20,mM -Expf -hD2"expf" +hA-20,20,mL +Expf,dQ2"expf" ,"exp" -hD-10,10,hF2 +hA-10,10,hA2 qB -Floorf -hD2"floorf" +Floorf,dQ2"floorf" ,"floor(x)" } -,{2,-4 -o01 -Hypotf,wM"/hypotf" +,{gX3 +dQ1 +Hypotf,wR"/hypotf" ,"hypot(x" -mI1 +mF1 Tn -Un{1,m0 -Log2f -hD2"log2f" +Un{1,aZ +Log2f,dQ2"log2f" ,"log2" -hD -m0 -Log10f -hD2"log10f" +hA +aZ +Log10f,dQ2"log10f" ,"log10" -hD -m0 -Logf -hD2"logf" -,gE2 +hA +aZ +Logf,dQ2"logf" +mP1 T4 U4{2,1,20,1 -qN +qM qB -Pow_negf,wM"/pow_negf" +Pow_negf,wR"/pow_negf" ,"pow(-x*0.25,y" -g31{2,N(0.01)o01 -Pow_posf,wM"/pow_posf" -,dB2 -mI1{1,-aR2 -Sinf,hE2"f" -,gA3,oA2 +o02{2,N(0.01),4,dQ1 +Pow_posf,wR"/pow_posf" +,d12 +mF1{1,dW2 +Sinf,dR2"f" +,gY3,gF3 5 -g82 -Sinf_deg,hE2"f_deg" -,gA3,hZ3 -mD -Sinhf,hE2"hf" -,wL2 -hD -oA2 gF1 -Sinhf_deg,hE2"hf_deg" -,wL2 -hD +Sinf_deg,dR2"f_deg" +,gY3,dM3 +mA +Sinhf,dR2"hf" +,oA2 +hA +gF3 +q92 +Sinhf_deg,dR2"hf_deg" +,oA2 +hA 0,100000,1000 -qN +qM qB -Sqrtf -hD2"sqrtf" +Sqrtf,dQ2"sqrtf" ,"sqrt" -hD -N(-1.3),N(1.3),N(0.05)qN -qB -Tanf -hD2"tanf" +hA +N(-1.3),N(1.3),dQ1 +Tanf,dQ2"tanf" ,"tan" -hD-89,89,N(0.25)g82 -Tanf_deg -hD2"tanf_deg" +hA-89,89,N(0.25)gF1 +Tanf_deg,dQ2"tanf_deg" ,"tan" -hD-aR2 -Tanhf -hD2"tanhf" +hA +dW2 +Tanhf,dQ2"tanhf" ,"tanh" -hD-aZ -g82 -Tanhf_deg -hD2"tanhf_deg" +hA-mM +gF1 +Tanhf_deg,dQ2"tanhf_deg" ,"tanh" -hD -oA2 -mD -Truncf -hD2"truncf" +hA +gF3 +mA +Truncf,dQ2"truncf" ,"trunc" -hD +hA 0,1,1 -qN,hJ -E_f,oB"e_f" -aX2" naturalnumber" -d31 -L2_f,oB"l2_f" -aX2" logtwo" -d31 -L10_f,oB"l10_f" -aX2" logten" -d31 -Pi_f,oB"pi_f" -aX2" pi" +qM,hG +E_f,oW"e_f" +,dC3"naturalnumber" +hX1 +L2_f,oW"l2_f" +,dC3"logtwo" +hX1 +L10_f,oW"l10_f" +,dC3"logten" +hX1 +Pi_f,oW"pi_f" +,dC3"pi" } ,W4 -YN1 -SO1 +TO1 UO1 -WO1 +YO1 +SP1 Wn Y4 Yn So To S5 -W5{1 -gS -Acosf,oD"acosf" -,"acos(0.7" -h0 -g23,oD"acosf_deg" +W5 +qK3 +Acosf +d2"acosf" +,"acos(" +dM2,aW2 +gD3 +d2"acosf_deg" ,"acos(0.7)+x" } -,Uo{1 -gS -Acoshf,oD"acoshf" -,mR2 -qN2 -qU3,oD"acoshf_deg" -,mR2"(" -dN +,Uo +qK3 +Acoshf +d2"acoshf" +,q23"(" +wL +g93 +d2"acoshf_deg" +,q23"(" +wM Wo Yo -Sp{1 -gS -Asinf,oD"asinf" -,"asin(0.7" -h0 -g43,oD"asinf_deg" +Sp +qK3 +Asinf +d2"asinf" +,"asin(" +dM2,aW2 +gE3 +d2"asinf_deg" ,"asin(0.7)+x" } -,Tp{1 -gS -Asinhf,oD"asinhf" +,Tp +qK3 +Asinhf +d2"asinhf" ,"a" -wL2 -qN2 -qV3,oD"asinhf_deg" +oA2"(" +wL +gI3 +d2"asinhf_deg" ,"a" -wL2"(" -dN -Up{1 -gS -Atan2f,oD"atan2f" -,aA2"(5,4" -h0 -Atan2f_deg,oD"atan2f_deg" -,aA2"(5,4)+x" +oA2"(" +wM +Up +qK3 +Atan2f +d2"atan2f" +,aH2"(5,4" +gH,aW2 +Atan2f_deg +d2"atan2f_deg" +,aH2"(5,4)+x" } -,Wp{1 -gS -Atanf,oD"atanf" -,"atan" -qN2 -Atanf_deg,oD"atanf_deg" +,Wp +qK3 +Atanf +d2"atanf" +,"atan(" +wL +Atanf_deg +d2"atanf_deg" ,"atan" -hM1 -Atanhf,oD"atanhf" -,"atanh(0.7" -m61 -Cbrtf,oD"cbrtf" +m8 +Atanhf +d2"atanhf" +,"atanh(" +dM2 +qM +q4 +Cbrtf +d2"cbrtf" ,"cbrt" -hM1 -Ceilf,oD"ceilf" +m8 +Ceilf +d2"ceilf" ,"ceil(" -dN +wM Yp -WP1 -YP1 SQ1 TQ1 UQ1 @@ -8564,20 +8640,26 @@ YX1 SY1 TY1 UY1 -WY1{1 -gS -Cosf,oD"cosf" -,"cos" -qN2 -Cosf_deg,oD"cosf_deg" +WY1 +YY1 +SZ1 +qK3 +Cosf +d2"cosf" +,"cos(" +wL +Cosf_deg +d2"cosf_deg" ,"cos" -hM1 -Coshf,oD"coshf" -,"cosh" -qN2 -Coshf_deg,oD"coshf_deg" +m8 +Coshf +d2"coshf" ,"cosh(" -dN +wL +Coshf_deg +d2"coshf_deg" +,"cosh(" +wM Sq Tq Y5 @@ -8589,29 +8671,30 @@ T6 U6 W6 Sr -Wa1 -Ya1 -Tr{1 -gS -Exp2f,oD"exp2f" +Sb1 +Tb1 +Tr +qK3 +Exp2f +d2"exp2f" ,"exp2(" -dN +wM Ur -Wr{1 -gS -Expf,oD"expf" -,m12 -dN +Wr +qK3 +Expf +d2"expf" +,m62 +wM Yr Ss -Ts{1 -gS -Floorf,oD"floorf" +Ts +qK3 +Floorf +d2"floorf" ,"floor(" -dN +wM Us -Sb1 -Tb1 Ub1 Wb1 Yb1 @@ -8623,9 +8706,12 @@ Yc1 Sd1 Td1 Ud1 -Wd1{1 -gS -Hypotf,oD"hypotf" +Wd1 +Yd1 +Se1 +qK3 +Hypotf +d2"hypotf" ,"hypot(5,4)+x" } ,Ws @@ -8636,48 +8722,51 @@ Ut Wt Yt Y6 -Se1 -Te1 -Ue1{1 -gS -Log2f,oD"log2f" +Ue1 +We1 +Ye1 +qK3 +Log2f +d2"log2f" ,"log2" -hM1 -Log10f,oD"log10f" +m8 +Log10f +d2"log10f" ,"log10(" -dN -We1 -Ye1{1 -gS -Logf,oD"logf" -,"log(" -dN +wM Sf1 Tf1 +qK3 +Logf +d2"logf" +,"log(" +wM Uf1 Wf1 Yf1 +Sg1 +Tg1 S7 T7 -Wg1 +Sh1 U7 W7 -Yg1 +Th1 Y7 Su -Wh1 -Yh1 +Si1 +Ti1 S8 Tu T8 U8 -Ti1 -Ui1 -W8 +Wi1 Yi1 -Sj1 +W8 Tj1 Uj1 +Wj1 +Yj1 Y8 S9 T9 @@ -8686,12 +8775,14 @@ W9 Y9 SA TA -UA{1 -gS -Pow_negf,0,w21"_negf" +UA +qK3 +Pow_negf,0,dZ1"_negf" ,"pow(-0.25,4" -m61 -Pow_posf,0,w21"_posf" +gH +qM +q4 +Pow_posf,0,dZ1"_posf" ,"pow(1.1, 7.1)+x" } ,Uu @@ -8703,29 +8794,30 @@ Uv Wv Yv Sw -Sk1 -Tk1 Uk1 Wk1 Yk1 Sl1 Tl1 Ul1 -Wl1{1 -gS -Sinf,0,aW"f" -,"sin(1.1" -h0 -Sinf_deg,0,aW"f_deg" +Wl1 +Yl1 +Sm1 +qK3 +Sinf,0,aK"f" ,"sin(" -dN{1 -gS -Sinhf,0,aW"hf" -,wL2 -qN2 -Sinhf_deg,0,aW"hf_deg" -,wL2"(" -dN +wL +Sinf_deg,0,aK"f_deg" +,"sin(1.1" +gH +qM +q4 +Sinhf,0,aK"hf" +,oA2"(" +wL +Sinhf_deg,0,aK"hf_deg" +,oA2"(" +wM WA YA SB @@ -8734,39 +8826,45 @@ UB WB Tw Uw -Ww{1 -gS -Sqrtf,oD"sqrtf" +Ww +qK3 +Sqrtf +d2"sqrtf" ,"sqrt(" -dN -Tm1 -Um1 -Sn1{1 -gS -Tanf,oD"tanf" -,"tan" -qN2 -Tanf_deg,oD"tanf_deg" +wM +Wm1 +Ym1 +Un1 +qK3 +Tanf +d2"tanf" +,"tan(" +wL +Tanf_deg +d2"tanf_deg" ,"tan" -hM1 -Tanhf,oD"tanhf" -,"tanh" -qN2 -Tanhf_deg,oD"tanhf_deg" +m8 +Tanhf +d2"tanhf" +,"tanh(" +wL +Tanhf_deg +d2"tanhf_deg" ,"tanh" -hM1 -Truncf,oD"truncf" +m8 +Truncf +d2"truncf" ,"trunc(" -dN +wM YB SC Yw -Tn1 -Un1 Wn1 Yn1 So1 To1 +Uo1 +Wo1 TC Sx UC @@ -8887,19 +8985,22 @@ U51 W51 Y51 S61 -Ux1 -Wx1 Yx1 Sy1 +T61 +U61 +W61 +Ty1 +Uy1 UQ WQ YQ SR TR UR -Ty1 -Uy1 Wy1 +Yy1 +Sz1 WR YR SS @@ -8925,24 +9026,24 @@ SW TW UW WW -T61 -U61 -YW -W61 Y61 S71 +YW T71 -SX U71 -TX W71 Y71 +SX S81 +TX +T81 +U81 +W81 UX WX YX SY -T81 +Y81 TY UY WY @@ -8961,28 +9062,28 @@ Sb Tb Ub Wb -Yy1 +Tz1 Yb Sc -U81 -W81 -Y81 S91 T91 U91 W91 Y91 -Tc -Uc -Wc SA1 TA1 UA1 +Tc +Uc +Wc WA1 YA1 SB1 -Sz1 -Tz1 +TB1 +UB1 +WB1 +Uz1 +Wz1 Yc Sd Td @@ -8993,9 +9094,6 @@ Se Te Ue We -TB1 -UB1 -WB1 YB1 SC1 TC1 @@ -9006,28 +9104,26 @@ SD1 TD1 UD1 WD1 +YD1 +SE1 +TE1 Ye Sf Tf Uf Wf Yf -YD1 -Wz1 -Tg -SE1 -TE1 UE1 +S_1 +Tg WE1 -Ug YE1 SF1 TF1 +Ug UF1 WF1 -#if !defined(FP_DISABLE_EVAL) YF1 -#endif /*!defined(FP_DISABLE_EVAL) */ SG1 TG1 UG1 @@ -9037,38 +9133,40 @@ SH1 TH1 UH1 WH1 +YH1 +SI1 Wg Yg -YH1 +TI1 Sh Th Uh -TI1 -Wh -UI1 WI1 +Wh YI1 SJ1 -Yh TJ1 +UJ1 +Yh WJ1 +SK1 Si Ti -SK1 -TL1 -UL1 +UK1 WL1 YL1 SM1 TM1 -Ui UM1 WM1 +Ui YM1 SN1 TN1 -Wi UN1 +WN1 +Wi +YN1 TestType()} ; #undef Value_t @@ -9316,317 +9414,328 @@ TestType()} #define P(x) N(x##.0) #define Value_t long double namespace -cpp_01unit_operators{qM3 +cpp_01unit_operators +mE2 Modl(qD,&z -oI2 +oR2 qA -fmodl(x,z)qT3 -cpp_02unit_functions{qM3 +fmodl(x,z +g43 +cpp_02unit_functions +mE2 Acoshl -m1 -x+o52-1.0l -qS3 +m0 +x+dU2-1.0l +mD2 Acoshl_deg -dY1 +wF1 fp_acosh(x -qS3 +mD2 Acosl -qT +qW acosl -hZ1 +wD1 Acosl_deg -dY1 +wF1 acosl(x -qS3 +mD2 Asinhl -m1 -x+o52+1.0l -qS3 +m0 +x+dU2+1.0l +mD2 Asinhl_deg -dY1 +wF1 fp_asinh(x -qS3 +mD2 Asinl -qT +qW asinl -hZ1 +wD1 Asinl_deg -dY1 +wF1 asinl(x -qS3 +mD2 Atan2l -qO -o62 +qL +dV2 x,y);} q0 Atan2l_deg -qO -r2d(o62 +qL +r2d(dV2 x,y -qS3 +mD2 Atanhl -m1(1.0l+x)/(1.0l-x))*0.5l;} +m0(1.0l+x)/(1.0l-x))*0.5l;} q0 Atanl -qT +qW atanl -hZ1 +wD1 Atanl_deg -dY1 +wF1 atanl(x -qS3 +mD2 Cbrtl -qT +qW fp_cbrt -hZ1 +wD1 Ceill -qT +qW ceill -hZ1 +wD1 Coshl -qT +qW coshl -hZ1 +wD1 Coshl_deg -qT -coshl(g51 +qW +coshl(g11 Cosl -qT +qW cosl -hZ1 +wD1 Cosl_deg -qT -cosl(g51 +qW +cosl(g11 Exp2l -qT -expl(x*fp_const_log2(qS3 +qW +expl(x*fp_const_log2(mD2 Expl -qT +qW expl -hZ1 +wD1 Floorl -qT +qW floorl -hZ1 +wD1 Hypotl -qO -o52+y*y);} +qL +dU2+y*y);} q0 Log2l -m1 +m0 x)*1.4426950408889634073599246810018921374266l;} q0 Log10l -qT +qW log10l -hZ1 +wD1 Logl -m1 +m0 x);} q0 Pow_negl -qO +qL powl(-x*0.25l,y);} q0 Pow_posl -qO +qL powl(x,y);} q0 Sinhl -qT +qW sinhl -hZ1 +wD1 Sinhl_deg -qT -sinhl(g51 +qW +sinhl(g11 Sinl -qT +qW sinl -hZ1 +wD1 Sinl_deg -qT -sinl(g51 +qW +sinl(g11 Sqrtl -qT +qW sqrtl -hZ1 +wD1 Tanhl -qT +qW tanhl -hZ1 +wD1 Tanhl_deg -qT -tanhl(g51 +qW +tanhl(g11 Tanl -qT +qW tanl -hZ1 +wD1 Tanl_deg -qT -tanl(g51 +qW +tanl(g11 Truncl -qT -fp_trunc(x)qT3 -cpp_03unit_constants{qM3 +qW +fp_trunc(x +g43 +cpp_03unit_constants +mE2 E_ld -qT +qW expl(x*0.0l+1.0l);} q0 L2_ld -m1 +m0 x*0.0l+2.0l);} q0 L10_ld -m1 +m0 x*0.0l+10.0l);} q0 Pi_ld -qT -o62 -x*0.0l,-1.0l)qT3 -cpp_10optimizer_bytecode{qM3 +qW +dV2 +x*0.0l,-1.0l +g43 +cpp_10optimizer_bytecode +mE2 Acoshl -m1 -1.1l+sqrtl(1.1l*1.1l-1.0l)hW +m0 +1.1l+sqrtl(1.1l*1.1l-1.0l)d1 Acoshl_deg -dY1 -fp_acosh(1.1l)hW +wF1 +fp_acosh(1.1l)d1 Acosl -qT +qW acosl(0.7l -hW +d1 Acosl_deg -dY1 -acosl(0.7l)hW +wF1 +acosl(0.7l)d1 Asinhl -m1 -1.1l+sqrtl(1.1l*1.1l+1.0l)hW +m0 +1.1l+sqrtl(1.1l*1.1l+1.0l)d1 Asinhl_deg -dY1 -fp_asinh(1.1l)hW +wF1 +fp_asinh(1.1l)d1 Asinl -qT +qW asinl(0.7l -hW +d1 Asinl_deg -dY1 -asinl(0.7l)hW +wF1 +asinl(0.7l)d1 Atan2l -qT -o62 -5.0l,qK3 +qW +dV2 +5.0l,g23 Atan2l_deg -dY1 -o62 -5.0l,4.0l)hW +wF1 +dV2 +5.0l,4.0l)d1 Atanhl -m1(1.0l+0.7l)/(1.0l-0.7l))*0.5l+x;} +m0(1.0l+0.7l)/(1.0l-0.7l))*0.5l+x;} q0 Atanl -qT +qW atanl -dZ1 +wG1 Atanl_deg -dY1 -atanl(1.1l)hW +wF1 +atanl(1.1l)d1 Cbrtl -qT +qW fp_cbrt -dZ1 +wG1 Ceill -qT +qW ceill -dZ1 +wG1 Coshl -qT +qW coshl -dZ1 +wG1 Coshl_deg -qT -coshl(g71 +qW +coshl(g31 Cosl -qT +qW cosl -dZ1 +wG1 Cosl_deg -qT -cosl(g71 +qW +cosl(g31 Exp2l -qT +qW expl(1.1l*0.693147180559945309417232121458176568075500134l -hW +d1 Expl -qT +qW expl -dZ1 +wG1 Floorl -qT +qW floorl -dZ1 +wG1 Hypotl -qT -sqrtl(5.0l*5.0l+4.0l*qK3 +qW +sqrtl(5.0l*5.0l+4.0l*g23 Invsincostan -qO -x/m71 -x/aY)+x/qH2+x*m71 -x*aY)+x*qH2+1.0l/m71 -1.0l/aY)+1.0l/qH2+1.0l*m71 -1.0l*aY)+1.0l*qH2;} +qL +x/m41 +x/m51 +x/qA2+x*m41 +x*m51 +x*qA2+1.0l/m41 +1.0l/m51 +1.0l/qA2+1.0l*m41 +1.0l*m51 +1.0l*qA2;} q0 Log2l -m1 +m0 1.1l)*1.4426950408889634073599246810018921374266l+x;} q0 Log10l -qT +qW log10l -dZ1 +wG1 Logl -m1 +m0 1.1l -hW +d1 Pow_negl -qT -powl(-0.25l,qK3 +qW +powl(-0.25l,g23 Pow_posl -qT +qW powl(1.1l,7.1l -hW +d1 Sinhl -qT +qW sinhl -dZ1 +wG1 Sinhl_deg -qT -sinhl(g71 +qW +sinhl(g31 Sinl -qT +qW sinl -dZ1 +wG1 Sinl_deg -qT -sinl(g71 +qW +sinl(g31 Sqrtl -qT +qW sqrtl -dZ1 +wG1 Tanhl -qT +qW tanhl -dZ1 +wG1 Tanhl_deg -qT -tanhl(g71 +qW +tanhl(g31 Tanl -qT +qW tanl -dZ1 +wG1 Tanl_deg -qT -tanl(g71 +qW +tanl(g31 Truncl -qT +qW 1.0l+x;} } template<>const @@ -9641,10 +9750,10 @@ Yk Sl Tl Ul -Wl{2,-11,11,N(0.3)qN,qG +Wl{2,-11,11,N(0.3)qM,qG Modl,0 -oC",z" -,g9"modl" +dW",z" +g0"modl" ,"x%z" } ,Yl @@ -9653,208 +9762,182 @@ Tm Um Wm Ym -Sn{1,1,400,mD -Acoshl -hD2"acoshl" -,mR2 -hD -1,400,gF1 -Acoshl_deg -hD2"acoshl_deg" -,mR2 -aP2 -mM -Acosl -hD2"acosl" +Sn{1,1,400,mA +Acoshl,dQ2"acoshl" +,q23 +hA +1,400,q92 +Acoshl_deg,dQ2"acoshl_deg" +,q23 +aV2 +mL +Acosl,dQ2"acosl" ,"acos" -aP2 -dK1 -Acosl_deg -hD2"acosl_deg" +aV2 +gB2 +Acosl_deg,dQ2"acosl_deg" ,"acos" -aP2 -mM -Asinhl -hD2"asinhl" +aV2 +mL +Asinhl,dQ2"asinhl" ,"a" -wL2 -aP2 -dK1 -Asinhl_deg -hD2"asinhl_deg" +oA2 +aV2 +gB2 +Asinhl_deg,dQ2"asinhl_deg" ,"a" -wL2 -aP2 -mM -Asinl -hD2"asinl" +oA2 +aV2 +mL +Asinl,dQ2"asinl" ,"a" -gA3 -d4 -dK1 -Asinl_deg -hD2"asinl_deg" +gY3 +d6 +gB2 +Asinl_deg,dQ2"asinl_deg" ,"a" -qA2} -,{2,-4 -o01 -Atan2l,wM"/atan2l" -,aA2"(x" -mI1{2,-4,4,N(0.05)g82 -Atan2l_deg,wM"/atan2l_deg" -,aA2"(x" -mI1{1 -d4 -mM -Atanhl -hD2"atanhl" +q42} +,{gX3 +dQ1 +Atan2l,wR"/atan2l" +,aH2"(x" +mF1{gX3 +N(0.05)gF1 +Atan2l_deg,wR"/atan2l_deg" +,aH2"(x" +mF1{1 +d6 +mL +Atanhl,dQ2"atanhl" ,"atanh" -hD -oA2 -mD -Atanl -hD2"atanl" +hA +gF3 +mA +Atanl,dQ2"atanl" ,"atan" -hD -oA2 -gF1 -Atanl_deg -hD2"atanl_deg" +hA +gF3 +q92 +Atanl_deg,dQ2"atanl_deg" ,"atan" -hD-50000,50000,1000 -qN +hA-50000,50000,1000 +qM qB -Cbrtl -hD2"cbrtl" +Cbrtl,dQ2"cbrtl" ,"cbrt" -hD-10,10,hF2 +hA-10,10,hA2 qB -Ceill -hD2"ceill" +Ceill,dQ2"ceill" ,"ceil" -hD-140,140,mD -Coshl -hD2"coshl" +hA-140,140,mA +Coshl,dQ2"coshl" ,"cosh" -hD-140,140,gF1 -Coshl_deg -hD2"coshl_deg" +hA-140,140,q92 +Coshl_deg,dQ2"coshl_deg" ,"cosh" -hD-aR2 -Cosl -hD2"cosl" +hA +dW2 +Cosl,dQ2"cosl" ,"cos" -hD-aZ -g82 -Cosl_deg -hD2"cosl_deg" +hA-mM +gF1 +Cosl_deg,dQ2"cosl_deg" ,"cos" -hD-90,90,mM -Exp2l -hD2"exp2l" +hA-90,90,mL +Exp2l,dQ2"exp2l" ,"exp2" -hD-90,90,mM -Expl -hD2"expl" +hA-90,90,mL +Expl,dQ2"expl" ,"exp" -hD-10,10,hF2 +hA-10,10,hA2 qB -Floorl -hD2"floorl" +Floorl,dQ2"floorl" ,"floor(x)" } -,{2,-4 -o01 -Hypotl,wM"/hypotl" +,{gX3 +dQ1 +Hypotl,wR"/hypotl" ,"hypot(x" -mI1 +mF1 Tn -Un{1,m0 -Log2l -hD2"log2l" +Un{1,aZ +Log2l,dQ2"log2l" ,"log2" -hD -m0 -Log10l -hD2"log10l" +hA +aZ +Log10l,dQ2"log10l" ,"log10" -hD -m0 -Logl -hD2"logl" -,gE2 +hA +aZ +Logl,dQ2"logl" +mP1 T4 U4{2,1,20,1 -qN +qM qB -Pow_negl,wM"/pow_negl" +Pow_negl,wR"/pow_negl" ,"pow(-x*0.25,y" -g31{2,N(0.01)o01 -Pow_posl,wM"/pow_posl" -,dB2 -mI1{1,oA2 -mD -Sinhl,hE2"hl" -,wL2 -hD -oA2 +o02{2,N(0.01),4,dQ1 +Pow_posl,wR"/pow_posl" +,d12 +mF1{1,gF3 +mA +Sinhl,dR2"hl" +,oA2 +hA +gF3 +q92 +Sinhl_deg,dR2"hl_deg" +,oA2 +hA +dW2 +Sinl,dR2"l" +,gY3,-mM gF1 -Sinhl_deg,hE2"hl_deg" -,wL2 -hD-aR2 -Sinl,hE2"l" -,gA3,-aZ -g82 -Sinl_deg,hE2"l_deg" -,gA3,0,100000,1000 -qN +Sinl_deg,dR2"l_deg" +,gY3,0,100000,1000 +qM qB -Sqrtl -hD2"sqrtl" +Sqrtl,dQ2"sqrtl" ,"sqrt" -hD-aR2 -Tanhl -hD2"tanhl" +hA +dW2 +Tanhl,dQ2"tanhl" ,"tanh" -hD-aZ -g82 -Tanhl_deg -hD2"tanhl_deg" +hA-mM +gF1 +Tanhl_deg,dQ2"tanhl_deg" ,"tanh" -hD -N(-1.3),N(1.3),N(0.05)qN -qB -Tanl -hD2"tanl" +hA +N(-1.3),N(1.3),dQ1 +Tanl,dQ2"tanl" ,"tan" -hD-89,89,N(0.25)g82 -Tanl_deg -hD2"tanl_deg" +hA-89,89,N(0.25)gF1 +Tanl_deg,dQ2"tanl_deg" ,"tan" -hD -oA2 -mD -Truncl -hD2"truncl" +hA +gF3 +mA +Truncl,dQ2"truncl" ,"trunc" -hD +hA 0,1,1 -qN,hJ -E_ld,oB"e_ld" -aX2" naturalnumber" -d31 -L2_ld,oB"l2_ld" -aX2" logtwo" -d31 -L10_ld,oB"l10_ld" -aX2" logten" -d31 -Pi_ld,oB"pi_ld" -aX2" pi" +qM,hG +E_ld,oW"e_ld" +,dC3"naturalnumber" +hX1 +L2_ld,oW"l2_ld" +,dC3"logtwo" +hX1 +L10_ld,oW"l10_ld" +,dC3"logten" +hX1 +Pi_ld,oW"pi_ld" +,dC3"pi" } ,W4 -UO1 -WO1 +YO1 +SP1 Wn Y4 Yn @@ -9862,68 +9945,85 @@ So To S5 W5 -Uo{1 -gS -Acoshl,oD"acoshl" -,mR2 -qN2 -Acoshl_deg,oD"acoshl_deg" -,mR2"(" -dN -Wo{1 -gS -Acosl,oD"acosl" -,"acos(0.7" -h0 -Acosl_deg,oD"acosl_deg" +Uo +qK3 +Acoshl +d2"acoshl" +,q23"(" +wL +Acoshl_deg +d2"acoshl_deg" +,q23"(" +wM +Wo +qK3 +Acosl +d2"acosl" +,"acos(" +dM2,aW2 +Acosl_deg +d2"acosl_deg" ,"acos(0.7)+x" } ,Yo Sp -Tp{1 -gS -Asinhl,oD"asinhl" +Tp +qK3 +Asinhl +d2"asinhl" ,"a" -wL2 -qN2 -Asinhl_deg,oD"asinhl_deg" +oA2"(" +wL +Asinhl_deg +d2"asinhl_deg" ,"a" -wL2"(" -dN -Up{1 -gS -Asinl,oD"asinl" -,"asin(0.7" -h0 -Asinl_deg,oD"asinl_deg" -,"asin(0.7" -m61 -Atan2l,oD"atan2l" -,aA2"(5,4" -h0 -Atan2l_deg,oD"atan2l_deg" -,aA2"(5,4)+x" +oA2"(" +wM +Up +qK3 +Asinl +d2"asinl" +,"asin(" +dM2,aW2 +Asinl_deg +d2"asinl_deg" +,"asin(" +dM2 +qM +q4 +Atan2l +d2"atan2l" +,aH2"(5,4" +gH,aW2 +Atan2l_deg +d2"atan2l_deg" +,aH2"(5,4)+x" } -,Wp{1 -gS -Atanhl,oD"atanhl" -,"atanh(0.7" -m61 -Atanl,oD"atanl" -,"atan" -qN2 -Atanl_deg,oD"atanl_deg" +,Wp +qK3 +Atanhl +d2"atanhl" +,"atanh(" +dM2 +qM +q4 +Atanl +d2"atanl" +,"atan(" +wL +Atanl_deg +d2"atanl_deg" ,"atan" -hM1 -Cbrtl,oD"cbrtl" +m8 +Cbrtl +d2"cbrtl" ,"cbrt" -hM1 -Ceill,oD"ceill" +m8 +Ceill +d2"ceill" ,"ceil(" -dN +wM Yp -WP1 -YP1 SQ1 TQ1 UQ1 @@ -9967,20 +10067,26 @@ YX1 SY1 TY1 UY1 -WY1{1 -gS -Coshl,oD"coshl" -,"cosh" -qN2 -Coshl_deg,oD"coshl_deg" +WY1 +YY1 +SZ1 +qK3 +Coshl +d2"coshl" +,"cosh(" +wL +Coshl_deg +d2"coshl_deg" ,"cosh" -hM1 -Cosl,oD"cosl" -,"cos" -qN2 -Cosl_deg,oD"cosl_deg" +m8 +Cosl +d2"cosl" ,"cos(" -dN +wL +Cosl_deg +d2"cosl_deg" +,"cos(" +wM Sq Tq Y5 @@ -9992,41 +10098,45 @@ T6 U6 W6 Sr -Wa1 -Ya1 -Tr{1 -gS -Exp2l,oD"exp2l" +Sb1 +Tb1 +Tr +qK3 +Exp2l +d2"exp2l" ,"exp2(" -dN +wM Ur -Wr{1 -gS -Expl,oD"expl" -,m12 -dN +Wr +qK3 +Expl +d2"expl" +,m62 +wM Yr Ss -Ts{1 -gS -Floorl,oD"floorl" +Ts +qK3 +Floorl +d2"floorl" ,"floor(" -dN +wM Us -Sb1 -Tb1 Ub1 Wb1 Yb1 Sc1 +Tc1 Uc1 -Wc1 Yc1 Sd1 Td1 -Ud1{1 -gS -Hypotl,oD"hypotl" +Ud1 +Wd1 +Yd1 +qK3 +Hypotl +d2"hypotl" ,"hypot(5,4)+x" } ,Ws @@ -10036,37 +10146,39 @@ Tt Ut Wt Yt -Y6{2,N(-0.7),N(0.7),N(0.28)qN +Y6{2,N(-0.7),N(0.7),N(0.28)qM q4 Invsincostan,0 -oC -gW"invsincostan" +dW +gR"invsincostan" ,"x/sin(" -wS1"cos(" -wS1"tan(" -wS1"csc(" -wS1"sec(" -wS1"cot(" -aU2" 1/sin(" -aU2" 1/cos(" -aU2" 1/tan(" -aU2" 1/csc(" -aU2" 1/sec(" -aU2" 1/cot(y" -g31{1 -gS -Log2l,oD"log2l" +wP1"cos(" +wP1"tan(" +wP1"csc(" +wP1"sec(" +wP1"cot(y) + 1/sin(y)" +q73"cos(y)" +q73"tan(y)" +q73"csc(y)" +q73"sec(y)" +q73"cot(y" +o02 +qK3 +Log2l +d2"log2l" ,"log2" -hM1 -Log10l,oD"log10l" +m8 +Log10l +d2"log10l" ,"log10" -hM1 -Logl,oD"logl" +m8 +Logl +d2"logl" ,"log(" -dN -Sf1 -Tf1 +wM Uf1 +Wf1 +Yf1 S7 T7 U7 @@ -10078,8 +10190,8 @@ Tu T8 U8 W8 -Tj1 -Uj1 +Wj1 +Yj1 Y8 S9 T9 @@ -10088,12 +10200,14 @@ W9 Y9 SA TA -UA{1 -gS -Pow_negl,0,w21"_negl" +UA +qK3 +Pow_negl,0,dZ1"_negl" ,"pow(-0.25,4" -m61 -Pow_posl,0,w21"_posl" +gH +qM +q4 +Pow_posl,0,dZ1"_posl" ,"pow(1.1, 7.1)+x" } ,Uu @@ -10105,28 +10219,28 @@ Uv Wv Yv Sw -Sk1 -Tk1 Uk1 Wk1 Yk1 Sl1 Tl1 Ul1 -Wl1{1 -gS -Sinhl,0,aW"hl" -,wL2 -qN2 -Sinhl_deg,0,aW"hl_deg" -,wL2 -hM1 -Sinl,0,aW"l" -,"sin(1.1" -h0 -Sinl_deg,0,aW"l_deg" +Wl1 +Yl1 +Sm1 +qK3 +Sinhl,0,aK"hl" +,oA2"(" +wL +Sinhl_deg,0,aK"hl_deg" +,oA2 +m8 +Sinl,0,aK"l" ,"sin(" -dN +wL +Sinl_deg,0,aK"l_deg" +,"sin(" +wM WA YA SB @@ -10135,33 +10249,39 @@ UB WB Tw Uw -Ww{1 -gS -Sqrtl,oD"sqrtl" +Ww +qK3 +Sqrtl +d2"sqrtl" ,"sqrt(" -dN -Sn1{1 -gS -Tanhl,oD"tanhl" -,"tanh" -qN2 -Tanhl_deg,oD"tanhl_deg" +wM +Un1 +qK3 +Tanhl +d2"tanhl" +,"tanh(" +wL +Tanhl_deg +d2"tanhl_deg" ,"tanh" -hM1 -Tanl,oD"tanl" -,"tan" -qN2 -Tanl_deg,oD"tanl_deg" +m8 +Tanl +d2"tanl" +,"tan(" +wL +Tanl_deg +d2"tanl_deg" ,"tan" -hM1 -Truncl,oD"truncl" +m8 +Truncl +d2"truncl" ,"trunc(" -dN +wM YB SC Yw -So1 -To1 +Uo1 +Wo1 TC Sx UC @@ -10282,18 +10402,21 @@ U51 W51 Y51 S61 -Ux1 -Wx1 Yx1 Sy1 +T61 +U61 +W61 +Ty1 +Uy1 UQ WQ YQ SR TR UR -Uy1 -Wy1 +Yy1 +Sz1 WR YR SS @@ -10319,24 +10442,24 @@ SW TW UW WW -T61 -U61 -YW -W61 Y61 S71 +YW T71 -SX U71 -TX W71 Y71 +SX S81 +TX +T81 +U81 +W81 UX WX YX SY -T81 +Y81 TY UY WY @@ -10357,25 +10480,25 @@ Ub Wb Yb Sc -U81 -W81 -Y81 S91 T91 U91 W91 Y91 -Tc -Uc -Wc SA1 TA1 UA1 +Tc +Uc +Wc WA1 YA1 SB1 -Sz1 -Tz1 +TB1 +UB1 +WB1 +Uz1 +Wz1 Yc Sd Td @@ -10386,9 +10509,6 @@ Se Te Ue We -TB1 -UB1 -WB1 YB1 SC1 TC1 @@ -10399,27 +10519,25 @@ SD1 TD1 UD1 WD1 +YD1 +SE1 +TE1 Ye Sf Tf Uf Wf Yf -YD1 -Tg -SE1 -TE1 UE1 +Tg WE1 -Ug YE1 SF1 TF1 +Ug UF1 WF1 -#if !defined(FP_DISABLE_EVAL) YF1 -#endif /*!defined(FP_DISABLE_EVAL) */ SG1 TG1 UG1 @@ -10429,28 +10547,28 @@ SH1 TH1 UH1 WH1 +YH1 +SI1 Wg Yg -YH1 +TI1 Sh Th Uh -SI1 -TI1 -Wh UI1 WI1 +Wh YI1 SJ1 -Yh TJ1 UJ1 +Yh WJ1 YJ1 -Si -Ti SK1 TK1 +Si +Ti UK1 WK1 YK1 @@ -10461,14 +10579,16 @@ WL1 YL1 SM1 TM1 -Ui UM1 WM1 +Ui YM1 SN1 TN1 -Wi UN1 +WN1 +Wi +YN1 TestType()} ; #undef Value_t @@ -10503,24 +10623,22 @@ S4 T4 U4 W4 -TO1 -YO1 +WO1 +TP1 Y4 S5 T5 U5 W5 -SP1 -TP1 UP1 -SQ1 -SU1 -TU1 +WP1 +YP1 +UQ1 UU1 -SY1 -TY1 -YY1 -SZ1 +WU1 +YU1 +UY1 +WY1 TZ1 UZ1 WZ1 @@ -10528,40 +10646,42 @@ YZ1 Sa1 Ta1 Ua1 +Wa1 +Ya1 Y5 S6 T6 U6 W6 -Wa1 -Ya1 Sb1 -Wb1 -Uc1 -Sd1 -Yd1 +Tb1 +Ub1 +Sc1 +Yc1 +Ud1 +Te1 Y6 -Wf1 +Sg1 S7 T7 -Sg1 -Tg1 Ug1 +Wg1 +Yg1 U7 W7 -Sh1 -Th1 -Y7 Uh1 +Wh1 +Y7 +Yh1 S8 -Si1 +Ui1 T8 U8 W8 -Wi1 -Tj1 -Uj1 +Sj1 Wj1 +Yj1 +Sk1 Y8 S9 T9 @@ -10571,24 +10691,22 @@ Y9 SA TA UA -Yj1 +Tk1 WA YA SB TB UB WB -Yl1 -Sm1 -Wm1 -Ym1 +Tm1 +Um1 Sn1 +Tn1 +Un1 YB SC TC UC -Uo1 -Wo1 Yo1 Sp1 Tp1 @@ -10632,6 +10750,8 @@ Ww1 Yw1 Sx1 Tx1 +Ux1 +Wx1 WC YC SD @@ -10701,18 +10821,18 @@ WP YP SQ TQ -Ux1 -Wx1 Yx1 Sy1 +Ty1 +Uy1 UQ WQ YQ SR TR UR -Uy1 -Wy1 +Yy1 +Sz1 WR YR SS @@ -10769,8 +10889,8 @@ Sc Tc Uc Wc -Sz1 -Tz1 +Uz1 +Wz1 Yc Sd Td @@ -10788,11 +10908,11 @@ Uf Wf Yf Sg -Uz1 Yz1 -S_1 T_1 U_1 +W_1 +Y_1 Tg Ug Wg @@ -10819,9 +10939,9 @@ TestType()} #define P(x) N(x) #define Value_t MpfrFloat static -gV2 -mflit0_5("0.5" -,0),o72("0.25" +gC2 +wH1("0.5" +,0),mF2("0.25" ,0),mflit1_1("1.1" ,0),mflit0_7("0.7" ,0),mflit1_6("1.6" @@ -10830,7 +10950,7 @@ mflit0_5("0.5" ,0),mflitm1_6("-1.6" ,0),mflitm1_5("-1.5" ,0),mflitm0_25("-0.25" -,0),gB3("7.1" +,0),mK2("7.1" ,0),mflit0_015625("0.015625" ,0),mflit0_0625("0.0625" ,0),mflit5_0625("5.0625" @@ -10841,12 +10961,11 @@ mflit0_5("0.5" ,0),mflit_5(".5" ,0),mflit3_1("3.1" ,0),mflit4e2("4e2" -,0),mflit1em14("1e-14" ,0),mflit3_5("3.5" ,0),mflit57_295779513082320877("57.295779513082320877" ,0),mflit0_2("0.2" ,0),mflit7_5("7.5" -,0),aW2("2.5" +,0),m22("2.5" ,0),mflit1_3("1.3" ,0),mflit1_4("1.4" ,0),mflit1_7("1.7" @@ -10859,760 +10978,647 @@ mflit0_5("0.5" ,0),mflit2_1("2.1" ,0),mflit1_75e21("1.75e21" ,0);namespace -cpp_01unit_operators{qM3 +cpp_01unit_operators +mE2 And_d -qO -q0(d01?fp_abs(y)>=mflit0_5:q0(0 -qS3 +qL +oJ1>=wH1?fp_abs(y)>=wH1:q0(0 +mD2 Div_d -qO(x-o72)/y;} +qL(x-mF2)/y;} q0 Divmul_d -hB -x*y*x*x/z*(x-o72);} +hJ +x*y*x*x/z*(x-mF2);} q0 Modm(qD,&z -oI2 +oR2 qA x%z;} q0 Not_d -qT -qK2=mflit0_5:dW2 -qT3 -cpp_02unit_functions{qM3 -Acoshm -gN +qW +oJ1>=mJ2 +Or_d +qL +oJ1=wH1:m02;} +} +namespace +cpp_02unit_functions +mE2 +Acoshm(qV acosh -hZ1 +wD1 Acoshm_deg -dS2 -acosh(x -qS3 -Acosm -gN +oI1::acosh(x +mD2 +Acosm(qV acos -hZ1 +wD1 Acosm_deg -dS2 -acos(x -qS3 -Asinhm -gN +oI1::acos(x +mD2 +Asinhm(qV asinh -hZ1 +wD1 Asinhm_deg -dS2 -asinh(x -qS3 -Asinm -gN +oI1::asinh(x +mD2 +Asinm(qV asin -hZ1 +wD1 Asinm_deg -dS2 -asin(x -qS3 +oI1::asin(x +mD2 Atan2m -qO +qL q0::atan2(x,y);} q0 Atan2m_deg -qO +qL r2d(q0::atan2(x,y -qS3 -Atanhm -gN +mD2 +Atanhm(qV atanh -hZ1 -Atanm -gN +wD1 +Atanm(qV atan -hZ1 +wD1 Atanm_deg -dS2 -atan(x -qS3 -Cbrtm -gN +oI1::atan(x +mD2 +Cbrtm(qV cbrt -hZ1 -Ceilm -gN +wD1 +Ceilm(qV ceil -hZ1 -Coshm -gN +wD1 +Coshm(qV cosh -hZ1 -Coshm_deg -gN -cosh(g51 -Cosm -gN +wD1 +Coshm_deg(qV +cosh(g11 +Cosm(qV cos -hZ1 -Cosm_deg -gN -cos(g51 -Exp2m -gN +wD1 +Cosm_deg(qV +cos(g11 +Exp2m(qV exp2 -hZ1 -Expm -gN +wD1 +Expm(qV exp -hZ1 -Floorm -gN +wD1 +Floorm(qV floor -hZ1 +wD1 Hypotm -qO +qL q0::hypot(x,y);} q0 If_d -hB -d01?y:z;} +hJ +fp_abs(x)>=wH1?y:z;} q0 Int -qT -fp_floor(x+mflit0_5);} -q0 -Log2m -gN +qW +fp_floor(x+mJ2 +Log2m(qV log2 -hZ1 -Log10m -gN +wD1 +Log10m(qV log10 -hZ1 -Logm -gN +wD1 +Logm(qV log -hZ1 +wD1 Pow_negm -qO -q0::pow(-x*o72,y);} +qL +q0::pow(-x*mF2,y);} q0 Pow_posm -qO +qL q0::pow(x,y);} q0 -Sinhm -gN +Sinhm(qV sinh -hZ1 -Sinhm_deg -gN -sinh(g51 -Sinm -gN +wD1 +Sinhm_deg(qV +sinh(g11 +Sinm(qV sin -hZ1 -Sinm_deg -gN -sin(g51 -Sqrtm -gN +wD1 +Sinm_deg(qV +sin(g11 +Sqrtm(qV sqrt -hZ1 -Tanhm -gN +wD1 +Tanhm(qV tanh -hZ1 -Tanhm_deg -gN -tanh(g51 -Tanm -gN +wD1 +Tanhm_deg(qV +tanh(g11 +Tanm(qV tan -hZ1 -Tanm_deg -gN -tan(g51 -Truncm -gN -trunc(x)qT3 -cpp_03unit_constants{qM3 -E_mpfr -gN -exp(x*q0(0 -dR2 +wD1 +Tanm_deg(qV +tan(g11 +Truncm(qV +trunc(x +g43 +cpp_03unit_constants +mE2 +E_mpfr(qV +exp(x +mG2 1 -qS3 -L2_mpfr -gN -log(x*q0(0 -dR2 +mD2 +L2_mpfr(qV +log(x +mG2 2 -qS3 -L10_mpfr -gN -log(x*q0(0 -dR2 +mD2 +L10_mpfr(qV +log(x +mG2 10 -qS3 -Pi_mpfr -gN -atan2(x*q0(0),-dW2 -qT3 -cpp_10optimizer_bytecode{qM3 -Acoshm -gN -acosh -gV +mD2 +Pi_mpfr(qV +atan2(x*q0(0),-m02;} +} +namespace +cpp_10optimizer_bytecode +mE2 +Acoshm(qV +acosh(gV Acoshm_deg -dS2 -acosh(wO -Acosm -gN -acos(mX1 +oI1::acosh(wW +Acosm(qV +acos(mW1 Acosm_deg -dS2 -acos(mflit0_7)hW -Asinhm -gN -asinh -gV +oI1::acos(mflit0_7)d1 +Asinhm(qV +asinh(gV Asinhm_deg -dS2 -asinh(wO -Asinm -gN -asin(mX1 +oI1::asinh(wW +Asinm(qV +asin(mW1 Asinm_deg -dS2 -asin(mflit0_7)hW -Atan2m -gN -atan2 -dV2 -hW +oI1::asin(mflit0_7)d1 +Atan2m(qV +atan2(q0(aX2 +d1 Atan2m_deg -dS2 -atan2 -dV2)hW -Atanhm -gN -atanh(mX1 -Atanm -gN -atan -gV +oI1::atan2(q0(aX2)d1 +Atanhm(qV +atanh(mW1 +Atanm(qV +atan(gV Atanm_deg -dS2 -atan(wO -Cbrtm -gN -cbrt -gV -Ceilm -gN -ceil -gV -Coshm -gN -cosh -gV -Coshm_deg -gN -cosh(aV2 -Cosm -gN -cos -gV -Cosm_deg -gN -cos(aV2 -Exp2m -gN -exp2 -gV -Expm -gN -exp -gV -Floorm -gN -floor -gV -Hypotm -gN -hypot -dV2 -hW +oI1::atan(wW +Cbrtm(qV +cbrt(gV +Ceilm(qV +ceil(gV +Coshm(qV +cosh(gV +Coshm_deg(qV +cosh(aY2 +Cosm(qV +cos(gV +Cosm_deg(qV +cos(aY2 +Exp2m(qV +exp2(gV +Expm(qV +exp(gV +Floorm(qV +floor(gV +Hypotm(qV +hypot(q0(aX2 +d1 Int -qT -x+(((((fp_int(mflit1_1)qI2 -mflit1_6))qI2 -o92)qI2 -mflitm1_1))qI2 -mflitm1_6))qI2 +qW +x+(((((fp_int(mflit1_1)qB2 +mflit1_6))qB2 +mflit1_5))qB2 +mflitm1_1))qB2 +mflitm1_6))qB2 mflitm1_5 -qS3 -Log2m -gN -log2 -gV -Log10m -gN -log10 -gV -Logm -gN -log -gV -Pow_negm -gN -pow(mflitm0_25,q0(4)hW -Pow_posm -gN -pow(mflit1_1,gB3 -hW +mD2 +Log2m(qV +log2(gV +Log10m(qV +log10(gV +Logm(qV +log(gV +Pow_negm(qV +pow(mflitm0_25,q0(4)d1 +Pow_posm(qV +pow(mflit1_1,mK2 +d1 Powhalf -qT qW -mflit0_5);} -q0 +qO +mJ2 Powminushalf -qT -qW-mflit0_5);} -q0 -Sinhm -gN -sinh -gV -Sinhm_deg -gN -sinh(aV2 -Sinm -gN -sin -gV -Sinm_deg -gN -sin(aV2 -Sqrtm -gN -sqrt -gV -Tanhm -gN -tanh -gV -Tanhm_deg -gN -tanh(aV2 -Tanm -gN -tan -gV -Tanm_deg -gN -tan(aV2 +qW +qO-mJ2 +Sinhm(qV +sinh(gV +Sinhm_deg(qV +sinh(aY2 +Sinm(qV +sin(gV +Sinm_deg(qV +sin(aY2 +Sqrtm(qV +sqrt(gV +Tanhm(qV +tanh(gV +Tanhm_deg(qV +tanh(aY2 +Tanm(qV +tan(gV +Tanm_deg(qV +tan(aY2 Truncm -qT -q0(1)+x -qT3 -cpp_20optimizer_optimizations{qM3 +qW +q0(1)+x;} +} +namespace +cpp_20optimizer_optimizations +mE2 Cmpeq_pow_imm_negneg -qT -qB2 qW -g63 +fp_equal(mH2 Cmpeq_pow_imm_negpos -qT -qB2 -oE2 +qW +fp_equal(qO +oN2 Cmpeq_pow_imm_pospos_base -qT -qB2 -oG2 -Cmpge_pow_imm_negneg -wA qW -g63 +fp_equal(oQ2 +Cmpge_pow_imm_negneg +aV +mH2 Cmpge_pow_imm_negpos -wA -oE2 +aV +qO +oN2 Cmpge_pow_imm_pospos_base -wA -oG2 +aV +oQ2 Cmpgt_pow_imm_negneg -qT -g11 qW -g63 +g01 +mH2 Cmpgt_pow_imm_negpos -qT -g11 -oE2 +qW +g01 +qO +oN2 Cmpgt_pow_imm_pospos_base -qT -g11 -oG2 +qW +g01 +oQ2 Cmple_pow_imm_negneg -qT -o11 qW -g63 +dN1 +mH2 Cmple_pow_imm_negpos -qT -o11 -oE2 +qW +dN1 +qO +oN2 Cmple_pow_imm_pospos_base -qT -o11 -oG2 +qW +dN1 +oQ2 Cmplt_pow_imm_negneg -qT -fp_less(qW -g63 +qC2 +mH2 Cmplt_pow_imm_negpos -qT -fp_less(oE2 +qC2 +qO +oN2 Cmplt_pow_imm_pospos_base -qT -fp_less(oG2 +qC2 +oQ2 Cmpne_pow_imm_negneg -mK1 -qW -g63 +dO1 +mH2 Cmpne_pow_imm_negpos -mK1 -oE2 +dO1 +qO +oN2 Cmpne_pow_imm_pospos_base -mK1 -oG2 +dO1 +oQ2 Cmpzz_pow_imm_negneg -qT -q0 -d11 -qW -gL -aE -qW -gL +dX2 +gM +aO +gM +m1 +gM m2 -qW -gL -m3 -qW -gL -m5 -qW -gL +gM +m6 +gM mN -qW -g63 +mH2 Cmpzz_pow_imm_negpos -qT -q0 -d11 -h8 -aE -h8 +dX2 +qO +h0 +aO +qO +h0 +m1 +qO +h0 m2 -h8 -m3 -h8 -m5 -h8 +qO +h0 +m6 +qO +h0 mN -oE2 +qO +oN2 Cmpzz_pow_imm_pospos_base -qT -q0 -d11 -gY -aE -gY +dX2 +gN +aO +gN +m1 +gN m2 -gY -m3 -gY -m5 -gY +gN +m6 +gN mN -oG2 +oQ2 Ifabsnot -hB -fp_truth(qC1!=q0(0)?z:y;} +hJ +fp_truth +q41!=q0(0)?z:y;} q0 Posnot -g42 -qC1;} +qW +fp_not +q41;} q0 Posnotnot -qT -fp_notNot(qC1;} +qW +fp_notNot +q41;} q0 Powmulimm_fnen -wT(q0(-8)qS3 +wZ(q0(-8)mD2 Powmulimm_fnep -wT(q0(4)qS3 +wZ(q0(4)mD2 Powmulimm_fnfn -g52(mflitm5_1)*x,(mflitm7_1 -qS3 +qW +fp_pow((mflitm5_1)*x,(mflitm7_1 +mD2 Powmulimm_fnfp -wT -gB3);} +wZ +mK2);} q0 Powmulimm_fpfp -qO -mA2 -mflit5_1*x*y,gB3)qT3 -cpp_50regressions{qM3 +qL +fp_pow(mflit5_1*x*y,mK2 +g43 +cpp_50regressions +mE2 t42 -qO -h72 -x*x)+o82(mA2 -y*y,o72))+fp_hypot(x,y)qT3 -cpp_99misc{qM3 +qL +h32 +x*x)+dY2(fp_pow(y*y,mF2))+fp_hypot(x,y +g43 +cpp_99misc +mE2 t2 -qT -q0(2)*x+m91)/mflit_5+q0(2)-m91)*fp_sin -hZ1 +qW +q0(2)*x+aY1)/mflit_5+q0(2)-aY1)*fp_sin +wD1 t3 -hB -fp_and(m51),qB2 -y,x -wX +hJ +fp_and(m31),fp_equal(y,x)gC1 1 -dR2 -2)-mflit3_1*mflit4e2/mflit_5+x*x+y*y+z*z+hA2,x)qD3 -y,y);} -#if !defined(FP_DISABLE_EVAL) -q0 -t6(qD,qZ3 -b19[2]qA(x>mflit1em14&&y>mflit1em14?x*y+t6((b19[0]=(x-dW2,b19[1]=(y-dW2,b19)):gK3 -1);} -#endif /* !defined(FP_DISABLE_EVAL) */ +gC1 +2)-mflit3_1*mflit4e2/mflit_5+x*x+y*y+z*z+fp_and(x,x)+fp_or(y,y);} q0 t9 -hB +hJ mflit1_5+x*y-q0(2 -dR2 +gC1 4)/q0(8)+z+z+z+z+x/(y*z);} q0 t11 -hB(-x-x)+y+hP -dL1,z -qS3 +hJ(-x-x)+y+hP +fp_pow(mflit1_1,z +mD2 t22 -qO(mflit3_5 -qL3 -wX -10)*(x*gE3-(mB2 -y)qL3 -wX +qL(mflit3_5*q0(2)gC1 +10)*(x*q0(3))-(fp_sin(y)*q0(2)gC1 100)*((x -qL3))-(y*gE3)qL3 -dR2 -5)/(q0(2)qL3))+dL1,x -qL3))+dL1 -qL3),x -qL3 -qS3 -t26_deg -qT -mB2 -d2r(x))+fp_cos(d2r(x*o92)+r2d(fp_asin(x/q0(110)))+r2d(gD1/q0(120)qS3 -t30 -qO -x-y*q0(1)+fp_mod(x,y)+x/mA2 -y,gU2 -qI -2),gE3+fp_mod(q0(5),gE3+qW -mA2 -y,q0(0)))+qW -mflit0_5);} +aZ2-(y*q0(3)))*q0(2 +gC1 +5)/(q0(2)aZ2+fp_pow(mflit1_1,x +aZ2+fp_pow(dZ2 +q0(2),x +aZ2;} q0 +t26_deg +qW +fp_sin(d2r(x))+gH3 +d2r(x*mflit1_5))+r2d(fp_asin(x/q0(110)))+r2d(gB1/q0(120)mD2 +t30 +qL +x-y*q0(1)+fp_mod(x,y)+x/fp_pow(y,mflit1_1)+qI +2),q0(3))+fp_mod(q0(5),q0(3))+qO +fp_pow(y,q0(0)))+qO +mJ2 t32 -hB -x+y/y-gQ2 -3),q0(4))-x-gR2 -4),gE3+gR2 -3),q0(4))-gQ2 -4),q0(3 -wX -0)+(z*dW2+(x-q0(2 -dR2 -2))+(x*mflit0_5 -qL3))+y*q0(0)+fp_min(fp_min(gQ2 -4),x),dW2,fp_min -g33 -fp_min(y,q0(4)),z)))+fp_max(fp_max(gR2 -4),x),dW2,fp_max(gS2 -fp_max(y,q0(4)),z)))+(fp_abs(dW2+fp_acos(dW2+fp_asin(dW2+fp_atan(dW2+fp_ceil(gU2 -fp_cos(q0(0))+aD2 -q0(0))+fp_floor(gU2 -hP -dW2+mB2 -q0(0))+fp_sinh(q0(0))+dM2 -dW2+fp_tanh(dW2+qG2 -q0(1),dW2)+(x-(y-z))+(x+y)+(x*y)+fp_max(gS2 -gS2 -gS2 +hJ +x+y/y-fp_min(q0(3),q0(4))-x-g92 +4),q0(3))+g92 +3),q0(4))-fp_min(q0(4),q0(3)gC1 +0)+(z*m02+(x-q0(2 +gC1 +2))+(x*wH1 +aZ2+y*q0(0)+fp_min(fp_min(fp_min(q0(4),x),m02,fp_min(x,fp_min(fp_min(y,q0(4)),z)))+fp_max(fp_max(g92 +4),x),m02,fp_max +gH2 +fp_max(y,q0(4)),z)))+(fp_abs +oO2 +fp_acos +oO2 +fp_asin +oO2 +fp_atan +oO2 +fp_ceil(mflit1_1)+gH3 +m12 +aO2 +m12 +fp_floor(mflit1_1)+hP +m02+fp_sin(m12 +fp_sinh(m12 +dD2 +m02+fp_tanh +oO2 +q82 +q0(1),m02)+(x-(y-z))+(x+y)+(x*y)+fp_max +gH2 +x,fp_max +gH2 x,x))))*-q0(1)+(z-z -dR2 -1)/m91/mE1 -aY/mE1 -dM2 -z/q0(5))+h1 -q0(1)/dM2 -z/mE1 -mB2 -y/mE1 -mE/q0(5)))+hP +gC1 +1)/aY1/oM1 +gG3/oM1 +dD2 +z/q0(5))+gU +q0(1)/dD2 +z/oM1 +fp_sin(y/oM1 +mB/q0(5)))+hP q0(30)+x)*hP q0(40)+y)/hP q0(50)+z a2/mflit57_295779513082320877)+fp_asin(x/q0(10))*mflit57_295779513082320877+fp_floor(-x -dR2 -1)/fp_ceil(x)+h72 +gC1 +1)/fp_ceil(x)+h32 q0(5)*mflit0_2)+(-x+-x+-x+-x+-x+-x);} q0 t37 -qT +qW q0(5)+mflit7_5*q0(8)/q0(3)-qI -2),q0(4))qL3)+fp_mod(q0(7),q0(2 -wX +2),q0(4))*q0(2)+fp_mod(q0(7),q0(2)gC1 4 -hW +d1 t38 -hB -fp_asinh(x)+o82 -fp_acosh(y+gE3+aW2*fp_atanh(z);} +hJ +fp_asinh(x)+dY2 +fp_acosh(y+q0(3))+m22*fp_atanh(z);} q0 t39 -hB -m91+aY*o92)-mE+mB2 -y*o92)+z*z*z*mB2 -z*z*z-x*x-y*y)-aY*o92*m91+aY*o92)+x*y*z+x*y*aW2+x*y*z*mE)+x*y*mE)+x*z*mE)+y*z*aW2+(x*y*z*mE)-x*y*z-y*mE)-x*z*y+x*y+x*z-mE)*x);} +hJ +aY1+g41)-mB+fp_sin(y*mflit1_5))+z*z*z +aT2 +z*z*z-x*x-y*y)-g41*aY1+g41)+x*y*z+x*y*m22+x*y*z*mB)+x*y*mB)+x*z*mB)+y*z*m22+(x*y*z*mB)-x*y*z-y*mB)-x*z*y+x*y+x*z-mB)*x);} q0 t44 -g52 -x*x -w6 -8))gX2 -g62 -w6 -7 -wX1 -g62*x -w6 -6))+mflit1_3*g72 -w6 -5))+mflit1_4*g72*x -w6 -6))+o82 -g72*x*x -w6 -4))+mflit1_6*g72*x*x*x -w6 -3))+mflit1_7*g72*x*x*x*x -w6 -2))+mflit1_8*(h72 -mA2 -fp_abs(-h72 -x)),gE3 -qS3 +qW +oG1 +w7 +8))+dZ2 +oG1*x +w7 +7))m61 +oG1 +oP2 +6))+mflit1_3*oH1 +w7 +5))+mflit1_4*oH1*x +w7 +6))+dY2 +oH1 +oP2 +4))+mflit1_6*oH1*x +oP2 +3))+mflit1_7*oH1*x*x +oP2 +2))+mflit1_8*(h32 +fp_pow(fp_abs(-h32 +x)),q0(3))mD2 t45 -g52 -x*x -w6 -7))gX2 -g62*x -w6 -5 -wX1 -g72*x -w6 +qW +oG1 +w7 +7))+dZ2 +oG1 +oP2 +5))m61 +oH1*x +w7 3 -qS3 +mD2 t46 -qO -fp_abs(fp_floor(gD1 -dR2 -4)))gX2 -fp_abs(fp_floor(fp_acos(y)+o92)o12 -qW1(fp_acos(y)-q0(10)wX1 -gR2-4),gD1))+mflit1_3*gQ2 -9),gD1)-q0(9 -qS3 +qL +fp_abs(fp_floor(gB1 +gC1 +4)))+dZ2 +fp_abs(fp_floor(fp_acos(y)+mflit1_5))dL2 +gB1),(fp_acos(y)-q0(10)))m61 +g92-4),gB1))+mflit1_3*fp_min(q0(9),gB1)-q0(9 +mD2 t47 -qO -mflit1_25*hM2 -x)+fp_exp(-x))+o82 -hM2 -y)-fp_exp(-y))+mflit1_75*(hM2-x)+fp_exp(x))/q0(2 -wX -2)*(hM2-x)-fp_exp(x))/q0(2))+mflit2_25*(aD2 +qL +mflit1_25*dH2 +x)+fp_exp(-x))+dY2 +dH2 +y)-fp_exp(-y))+mflit1_75*(dH2-x)+gO3))/q0(2)gC1 +2)*(dH2-x)-gO3))/q0(2))+mflit2_25*(aO2 y)+fp_sinh(y -qS3 +mD2 t48 -qT +qW fp_sinh((hP x)/q0(5 -dR2 -1))*q0(5 -wX1 -aD2(hP +gC1 +1))*q0(5))m61 +aO2(hP x)/hP -q0(2 -wX +q0(2)gC1 1))*hP -q0(2)))+fp_not(fp_or -aC -x),fp_not(x/q0(4))qS3 +q0(2)))aU2 +fp_or +mE +x),fp_not(x/q0(4))mD2 t49 -qT -qG2 +qW +q82 q0(0),x)+qI-4)*(x-q0(100)),mflit3_3);} q0 t52 -qT +qW x+(q0(1 -dR2 +gC1 2 -dR2 +gC1 3 -dR2 +gC1 4)-q0(5)-q0(6)-q0(7)-q0(8))/q0(3 -dR2 -4)*(q0(1)+mB2 -q0(2))+fp_cos(q0(4)*q0(5 -dR2 -6))/q0(2))+fp_cos(mflit0_5)*dM2 +gC1 +4)*(q0(1)+fp_sin(q0(2))+gH3 +q0(4)*q0(5 +gC1 +6))/q0(2))+gH3 +wH1)*dD2 mflit0_6+mflit0_2)-mflit1_1/hP -mflit2_1)*h72 +mflit2_1)*h32 mflit3_3)+qI 2),q0(3 -qS3 +mD2 t55 -qO -fp_less(qW -mflit1_2),q0(0))o12 -mA2 -y,aW2),gK3 -2)*aT*x,gK3 -3)*fp_less(mA2 -y,gE3,gK3 -4)*fp_less(qW +qL +fp_less(qO +mflit1_2),q0(0))dL2 +fp_pow(y,m22),q0(0)gC1 +2)*aX*x,q0(0)gC1 +3)*fp_less(fp_pow(y,q0(3)),q0(0)gC1 +4)*fp_less(qO q0(4)),q0(0 -qS3 +mD2 t56 -qT +qW fp_mod(mflit1_75e21,x);} } template<>const @@ -11627,10 +11633,10 @@ Yk Sl Tl Ul -Wl{2,-11,11,N(0.3)qN,qG +Wl{2,-11,11,N(0.3)qM,qG Modm,0 -oC",z" -,g9"modm" +dW",z" +g0"modm" ,"x%z" } ,Yl @@ -11639,206 +11645,183 @@ Tm Um Wm Ym -Sn{1,1,400,mD -Acoshm -hD2"acoshm" -,mR2 -hD -1,400,gF1 -Acoshm_deg -hD2"acoshm_deg" -,mR2 -aP2 -mM -Acosm -hD2"acosm" +Sn{1,1,400,mA +Acoshm,dQ2"acoshm" +,q23 +hA +1,400,q92 +Acoshm_deg,dQ2"acoshm_deg" +,q23 +aV2 +mL +Acosm,dQ2"acosm" ,"acos" -aP2 -dK1 -Acosm_deg -hD2"acosm_deg" +aV2 +gB2 +Acosm_deg,dQ2"acosm_deg" ,"acos" -aP2 -mM -Asinhm -hD2"asinhm" -,"a" -wL2 -aP2 -dK1 -Asinhm_deg -hD2"asinhm_deg" -,"a" -wL2 -aP2 -mM -Asinm -hD2"asinm" +aV2 +mL +Asinhm,dQ2"asinhm" ,"a" -gA3 -d4 -dK1 -Asinm_deg -hD2"asinm_deg" +oA2 +aV2 +gB2 +Asinhm_deg,dQ2"asin" +qM3"a" +oA2 +aV2 +mL +Asinm,dQ2"asinm" ,"a" -qA2} -,{2,-4,4,N(0.15)qN +gY3 +d6 +gB2 +Asinm_deg,dQ2"asin" +qN3"a" +q42} +,{gX3 +N(0.15)qM qB -Atan2m,wM"/atan2m" -,aA2"(x" -mI1{2,-4,4,N(0.15)g82 -Atan2m_deg,wM"/atan2m_deg" -,aA2"(x" -mI1{1 -d4 -mM -Atanhm -hD2"atanhm" +Atan2m,wR"/atan2m" +,aH2"(x" +mF1{gX3 +N(0.15)gF1 +Atan2m_deg,wR"/atan2m_deg" +,aH2"(x" +mF1{1 +d6 +mL +Atanhm,dQ2"atanhm" ,"atanh" -hD -oA2 -mD -Atanm -hD2"atanm" +hA +gF3 +mA +Atanm,dQ2"atanm" ,"atan" -hD -oA2 -gF1 -Atanm_deg -hD2"atanm_deg" +hA +gF3 +q92 +Atanm_deg,dQ2"atanm_deg" ,"atan" -hD-50000,50000,1000 -qN +hA-50000,50000,1000 +qM qB -Cbrtm -hD2"cbrtm" +Cbrtm,dQ2"cbrtm" ,"cbrt" -hD-10,10,hF2 +hA-10,10,hA2 qB -Ceilm -hD2"ceilm" +Ceilm,dQ2"ceilm" ,"ceil" -hD-140,140,mD -Coshm -hD2"coshm" +hA-140,140,mA +Coshm,dQ2"coshm" ,"cosh" -hD-140,140,gF1 -Coshm_deg -hD2"coshm_deg" +hA-140,140,q92 +Coshm_deg,dQ2"coshm_deg" ,"cosh" -hD-aR2 -Cosm -hD2"cosm" +hA +dW2 +Cosm,dQ2"cosm" ,"cos" -hD-aZ -g82 -Cosm_deg -hD2"cosm_deg" +hA-mM +gF1 +Cosm_deg,dQ2"cosm_deg" ,"cos" -hD-90,90,N(0.02)qN +hA-90,90,N(0.02)qM qB -Exp2m -hD2"exp2m" +Exp2m,dQ2"exp2m" ,"exp2" -hD-90,90,N(0.02)qN +hA-90,90,N(0.02)qM qB -Expm -hD2"expm" +Expm,dQ2"expm" ,"exp" -hD-10,10,hF2 +hA-10,10,hA2 qB -Floorm -hD2"floorm" +Floorm,dQ2"floorm" ,"floor(x)" } -,{2,-4 -o01 -Hypotm,wM"/hypotm" +,{gX3 +dQ1 +Hypotm,wR"/hypotm" ,"hypot(x" -mI1 +mF1 Tn -Un{1,m0 -Log2m -hD2"log2m" +Un{1,aZ +Log2m,dQ2"log2m" ,"log2" -hD -m0 -Log10m -hD2"log10m" +hA +aZ +Log10m,dQ2"log10m" ,"log10" -hD -m0 -Logm -hD2"logm" -,gE2 +hA +aZ +Logm,dQ2"logm" +mP1 T4 U4{2,1,20,1 -qN +qM qB -Pow_negm,wM"/pow_negm" +Pow_negm,wR"/pow_negm" ,"pow(-x*0.25,y" -g31{2,N(0.01)o01 -Pow_posm,wM"/pow_posm" -,dB2 -mI1{1,oA2 -mD -Sinhm,hE2"hm" -,wL2 -hD +o02{2,N(0.01),4,dQ1 +Pow_posm,wR"/pow_posm" +,d12 +mF1{1,gF3 +mA +Sinhm,dR2"hm" +,oA2 +hA +gF3 +q92 +Sinhm_deg,dR2 +qM3 oA2 +hA +dW2 +Sinm,dR2"m" +,gY3,-mM gF1 -Sinhm_deg,hE2"hm_deg" -,wL2 -hD-aR2 -Sinm,hE2"m" -,gA3,-aZ -g82 -Sinm_deg,hE2"m_deg" -,gA3,0,100000,1000 -qN +Sinm_deg,dR2 +qN3 +gY3,0,100000,1000 +qM qB -Sqrtm -hD2"sqrtm" +Sqrtm,dQ2"sqrtm" ,"sqrt" -hD-aR2 -Tanhm -hD2"tanhm" +hA +dW2 +Tanhm,dQ2"tanhm" ,"tanh" -hD-aZ -g82 -Tanhm_deg -hD2"tanhm_deg" +hA-mM +gF1 +Tanhm_deg,dQ2"tanhm_deg" ,"tanh" -hD -N(-1.3),N(1.3),N(0.05)qN -qB -Tanm -hD2"tanm" +hA +N(-1.3),N(1.3),dQ1 +Tanm,dQ2"tanm" ,"tan" -hD-89,89,N(0.25)g82 -Tanm_deg -hD2"tanm_deg" +hA-89,89,N(0.25)gF1 +Tanm_deg,dQ2"tanm_deg" ,"tan" -hD -oA2 -mD -Truncm -hD2"truncm" +hA +gF3 +mA +Truncm,dQ2"truncm" ,"trunc" -hD +hA 0,1,1 -qN,hJ -E_mpfr,oB"e_mpfr" -aX2" naturalnumber" -d31 -L2_mpfr,oB"l2_mpfr" -aX2" logtwo" -d31 -L10_mpfr,oB"l10_mpfr" -aX2" logten" -d31 -Pi_mpfr,oB"pi_mpfr" -aX2" pi" +qM,hG +E_mpfr,oW"e_mpfr" +,dC3"naturalnumber" +hX1 +L2_mpfr,oW"l2_mpfr" +,dC3"logtwo" +hX1 +L10_mpfr,oW"l10_mpfr" +,dC3"logten" +hX1 +Pi_mpfr,oW"pi_mpfr" +,dC3"pi" } ,W4 Wn @@ -11848,79 +11831,102 @@ So To S5 W5 -Uo{1 -gS -Acoshm,oD"acoshm" -,mR2 -qN2 -Acoshm_deg,oD"acoshm_deg" -,mR2"(" -dN -Wo{1 -gS -Acosm,oD"acosm" -,"acos(0.7" -h0 -Acosm_deg,oD"acosm_deg" +Uo +qK3 +Acoshm +d2"acoshm" +,q23"(" +wL +Acoshm_deg +d2"acoshm_deg" +,q23"(" +wM +Wo +qK3 +Acosm +d2"acosm" +,"acos(" +dM2,aW2 +Acosm_deg +d2"acosm_deg" ,"acos(0.7)+x" } ,Yo Sp -Tp{1 -gS -Asinhm,oD"asinhm" -,"a" -wL2 -qN2 -Asinhm_deg,oD"asinhm_deg" +Tp +qK3 +Asinhm +d2"asinhm" ,"a" -wL2"(" -dN -Up{1 -gS -Asinm,oD"asinm" -,"asin(0.7" -h0 -Asinm_deg,oD"asinm_deg" -,"asin(0.7" -m61 -Atan2m,oD"atan2m" -,aA2"(5,4" -h0 -Atan2m_deg,oD"atan2m_deg" -,aA2"(5,4)+x" +oA2"(" +wL +Asinhm_deg +d2"asin" +qM3"a" +oA2"(" +wM +Up +qK3 +Asinm +d2"asinm" +,"asin(" +dM2,aW2 +Asinm_deg +d2"asin" +qN3"asin(" +dM2 +qM +q4 +Atan2m +d2"atan2m" +,aH2"(5,4" +gH,aW2 +Atan2m_deg +d2"atan2m_deg" +,aH2"(5,4)+x" } -,Wp{1 -gS -Atanhm,oD"atanhm" -,"atanh(0.7" -m61 -Atanm,oD"atanm" -,"atan" -qN2 -Atanm_deg,oD"atanm_deg" +,Wp +qK3 +Atanhm +d2"atanhm" +,"atanh(" +dM2 +qM +q4 +Atanm +d2"atanm" +,"atan(" +wL +Atanm_deg +d2"atanm_deg" ,"atan" -hM1 -Cbrtm,oD"cbrtm" +m8 +Cbrtm +d2"cbrtm" ,"cbrt" -hM1 -Ceilm,oD"ceilm" +m8 +Ceilm +d2"ceilm" ,"ceil(" -dN -Yp{1 -gS -Coshm,oD"coshm" -,"cosh" -qN2 -Coshm_deg,oD"coshm_deg" +wM +Yp +qK3 +Coshm +d2"coshm" +,"cosh(" +wL +Coshm_deg +d2"coshm_deg" ,"cosh" -hM1 -Cosm,oD"cosm" -,"cos" -qN2 -Cosm_deg,oD"cosm_deg" +m8 +Cosm +d2"cosm" ,"cos(" -dN +wL +Cosm_deg +d2"cosm_deg" +,"cos(" +wM Sq Tq Y5 @@ -11930,25 +11936,29 @@ Yq W6 Sr Tr -Ur{1 -gS -Exp2m,oD"exp2m" +Ur +qK3 +Exp2m +d2"exp2m" ,"exp2(" -dN +wM Wr Yr Ss -Ts{1 -gS -Expm,oD"expm" +Ts +qK3 +Expm +d2"expm" ,"exp" -hM1 -Floorm,oD"floorm" +m8 +Floorm +d2"floorm" ,"floor(" -dN -Us{1 -gS -Hypotm,oD"hypotm" +wM +Us +qK3 +Hypotm +d2"hypotm" ,"hypot(5,4)+x" } ,Ws @@ -11958,17 +11968,20 @@ Tt Ut Wt Yt -Y6{1 -gS -Log2m,oD"log2m" +Y6 +qK3 +Log2m +d2"log2m" ,"log2" -hM1 -Log10m,oD"log10m" +m8 +Log10m +d2"log10m" ,"log10" -hM1 -Logm,oD"logm" +m8 +Logm +d2"logm" ,"log(" -dN +wM S7 T7 U7 @@ -11988,12 +12001,14 @@ W9 Y9 SA TA -UA{1 -gS -Pow_negm,0,w21"_negm" +UA +qK3 +Pow_negm,0,dZ1"_negm" ,"pow(-0.25,4" -m61 -Pow_posm,0,w21"_posm" +gH +qM +q4 +Pow_posm,0,dZ1"_posm" ,"pow(1.1, 7.1)+x" } ,Uu @@ -12004,20 +12019,21 @@ Tv Uv Wv Yv -Sw{1 -gS -Sinhm,0,aW"hm" -,wL2 -qN2 -Sinhm_deg,0,aW"hm_deg" -,wL2 -hM1 -Sinm,0,aW"m" -,"sin(1.1" -h0 -Sinm_deg,0,aW"m_deg" +Sw +qK3 +Sinhm,0,aK"hm" +,oA2"(" +wL +Sinhm_deg,0,aK +qM3 +oA2 +m8 +Sinm,0,aK"m" ,"sin(" -dN +wL +Sinm_deg,0,aK +qN3"sin(" +wM WA YA SB @@ -12026,26 +12042,32 @@ UB WB Tw Uw -Ww{1 -gS -Sqrtm,oD"sqrtm" +Ww +qK3 +Sqrtm +d2"sqrtm" ,"sqrt" -hM1 -Tanhm,oD"tanhm" -,"tanh" -qN2 -Tanhm_deg,oD"tanhm_deg" +m8 +Tanhm +d2"tanhm" +,"tanh(" +wL +Tanhm_deg +d2"tanhm_deg" ,"tanh" -hM1 -Tanm,oD"tanm" -,"tan" -qN2 -Tanm_deg,oD"tanm_deg" +m8 +Tanm +d2"tanm" +,"tan(" +wL +Tanm_deg +d2"tanm_deg" ,"tan" -hM1 -Truncm,oD"truncm" +m8 +Truncm +d2"truncm" ,"trunc(" -dN +wM Yw TC Sx @@ -12167,6 +12189,9 @@ U51 W51 Y51 S61 +T61 +U61 +W61 UQ WQ YQ @@ -12198,24 +12223,24 @@ SW TW UW WW -T61 -U61 -YW -W61 Y61 S71 +YW T71 -SX U71 -TX W71 Y71 +SX S81 +TX +T81 +U81 +W81 UX WX YX SY -T81 +Y81 TY UY WY @@ -12236,23 +12261,23 @@ Ub Wb Yb Sc -U81 -W81 -Y81 S91 T91 U91 W91 Y91 -Tc -Uc -Wc SA1 TA1 UA1 +Tc +Uc +Wc WA1 YA1 SB1 +TB1 +UB1 +WB1 Yc Sd Td @@ -12263,9 +12288,6 @@ Se Te Ue We -TB1 -UB1 -WB1 YB1 SC1 TC1 @@ -12276,25 +12298,23 @@ SD1 TD1 UD1 WD1 +YD1 +SE1 +TE1 Tf Uf Wf Yf -YD1 -Tg -SE1 -TE1 UE1 +Tg WE1 -Ug YE1 SF1 TF1 +Ug UF1 WF1 -#if !defined(FP_DISABLE_EVAL) YF1 -#endif /*!defined(FP_DISABLE_EVAL) */ SG1 TG1 UG1 @@ -12304,28 +12324,28 @@ SH1 TH1 UH1 WH1 +YH1 +SI1 Wg Yg -YH1 +TI1 Sh Th Uh -SI1 -TI1 -Wh UI1 WI1 +Wh YI1 SJ1 -Yh TJ1 UJ1 +Yh WJ1 YJ1 -Si -Ti SK1 TK1 +Si +Ti UK1 WK1 YK1 @@ -12336,14 +12356,16 @@ WL1 YL1 SM1 TM1 -Ui UM1 WM1 +Ui YM1 SN1 TN1 -Wi UN1 +WN1 +Wi +YN1 TestType()} ; #undef Value_t diff --git a/contrib/fparser/tests/20optimizer_optimizations/expexp_a b/contrib/fparser/tests/20optimizer_optimizations/expexp_a new file mode 100644 index 0000000..85deaad --- /dev/null +++ b/contrib/fparser/tests/20optimizer_optimizations/expexp_a @@ -0,0 +1,5 @@ +T=d f ld mf cd cf cld +V=x,y +R=-2,2,0.5 +F=exp(x*2 + y*3) +C=fp_exp(x*2 + y*3) diff --git a/contrib/fparser/tests/20optimizer_optimizations/expexp_b b/contrib/fparser/tests/20optimizer_optimizations/expexp_b new file mode 100644 index 0000000..8b2b589 --- /dev/null +++ b/contrib/fparser/tests/20optimizer_optimizations/expexp_b @@ -0,0 +1,5 @@ +T=d f ld mf cd cf cld +V=x,y,z +R=-2,2,0.5 +F=exp(x) * exp(y+z) +C=fp_exp(x) * fp_exp(y+z) diff --git a/contrib/fparser/tests/20optimizer_optimizations/expexp_c b/contrib/fparser/tests/20optimizer_optimizations/expexp_c new file mode 100644 index 0000000..c0c2ed3 --- /dev/null +++ b/contrib/fparser/tests/20optimizer_optimizations/expexp_c @@ -0,0 +1,5 @@ +T=d f ld mf cd cf cld +V=x,y,z +R=-2,2,0.5 +F=exp(x + y*z) +C=fp_exp(x + y*z) diff --git a/contrib/fparser/util/bytecoderules_header.txt b/contrib/fparser/util/bytecoderules_header.txt index 6e1eac6..45d9435 100644 --- a/contrib/fparser/util/bytecoderules_header.txt +++ b/contrib/fparser/util/bytecoderules_header.txt @@ -1,4 +1,4 @@ -/* Function Parser for C++ v4.4.3 +/* Function Parser for C++ v4.5 NOTE: Do not include this file in your project. The fparser.cc file #includes diff --git a/contrib/fparser/util/bytecoderules_parser.cc b/contrib/fparser/util/bytecoderules_parser.cc index 2f0dd6d..38bf7ac 100644 --- a/contrib/fparser/util/bytecoderules_parser.cc +++ b/contrib/fparser/util/bytecoderules_parser.cc @@ -348,7 +348,7 @@ namespace } bool HasOperations() const { return !seq.empty(); } private: - friend struct OutLine; + friend class OutLine; void DidLine(const std::string& line) { seq.push_back(line); } std::ostream& out; std::vector seq; diff --git a/contrib/fparser/util/create_testrules_for_optimization_rules.cc b/contrib/fparser/util/create_testrules_for_optimization_rules.cc index 5565481..91b397c 100644 --- a/contrib/fparser/util/create_testrules_for_optimization_rules.cc +++ b/contrib/fparser/util/create_testrules_for_optimization_rules.cc @@ -84,7 +84,6 @@ namespace op(cCeil,ceil,ceil); op(cCos,cos,cos); op(cCosh,cosh,cosh); - case cEval: return; case cIf: fp_pref = "if(("; return; diff --git a/contrib/fparser/util/make_function_name_parser.cc b/contrib/fparser/util/make_function_name_parser.cc index dce4107..12820f7 100644 --- a/contrib/fparser/util/make_function_name_parser.cc +++ b/contrib/fparser/util/make_function_name_parser.cc @@ -7,7 +7,7 @@ See gpl.txt for the license text. ============================================================================*/ -// #define FUNCTIONPARSER_SUPPORT_DEBUGGING // set via Makefile +#define FUNCTIONPARSER_SUPPORT_DEBUGGING #include #include diff --git a/contrib/fparser/util/powi_opt.cc b/contrib/fparser/util/powi_opt.cc index 8344124..832aec9 100644 --- a/contrib/fparser/util/powi_opt.cc +++ b/contrib/fparser/util/powi_opt.cc @@ -77,10 +77,6 @@ void PrintByteCode(const std::vector& ByteCode, case cDeg: n = "deg"; break; case cRad: n = "rad"; break; -#ifndef FP_DISABLE_EVAL - case cEval: n = "call\t0"; break; -#endif - #ifdef FP_SUPPORT_OPTIMIZER case cDup: n = "dup"; break; case cInv: n = "inv"; break; diff --git a/contrib/fparser/util/tree_grammar_parser.cc b/contrib/fparser/util/tree_grammar_parser.cc index 67ce0aa..6069cd0 100644 --- a/contrib/fparser/util/tree_grammar_parser.cc +++ b/contrib/fparser/util/tree_grammar_parser.cc @@ -863,6 +863,9 @@ public: return result.str(); } + static inline bool fp_equal(double v1, double v2) + { return fp_abs(v1 - v2) < 1e-12; } + static std::string ConstValueToString(const stdcomplex& value) { using namespace FUNCTIONPARSERTYPES; -- 1.7.9.6 (Apple Git-31.1)