./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 08:24:06,835 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 08:24:06,837 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 08:24:06,847 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 08:24:06,847 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 08:24:06,848 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 08:24:06,849 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 08:24:06,851 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 08:24:06,852 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 08:24:06,853 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 08:24:06,854 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 08:24:06,854 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 08:24:06,855 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 08:24:06,856 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 08:24:06,856 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 08:24:06,857 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 08:24:06,858 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 08:24:06,859 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 08:24:06,861 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 08:24:06,862 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 08:24:06,863 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 08:24:06,864 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 08:24:06,866 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 08:24:06,866 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 08:24:06,867 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 08:24:06,867 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 08:24:06,868 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 08:24:06,869 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 08:24:06,870 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 08:24:06,870 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 08:24:06,871 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 08:24:06,871 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 08:24:06,871 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 08:24:06,872 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 08:24:06,872 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 08:24:06,873 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 08:24:06,873 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-23 08:24:06,885 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 08:24:06,885 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 08:24:06,886 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 08:24:06,886 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 08:24:06,887 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 08:24:06,887 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 08:24:06,887 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 08:24:06,887 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-23 08:24:06,887 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 08:24:06,887 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 08:24:06,888 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-23 08:24:06,888 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-23 08:24:06,888 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 08:24:06,889 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 08:24:06,889 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 08:24:06,889 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 08:24:06,889 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 08:24:06,889 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 08:24:06,889 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 08:24:06,890 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 08:24:06,891 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 08:24:06,891 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 08:24:06,891 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 08:24:06,891 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 08:24:06,891 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:24:06,892 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 08:24:06,892 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 08:24:06,892 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 08:24:06,892 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-23 08:24:06,892 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 08:24:06,892 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 08:24:06,893 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 08:24:06,893 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 [2018-11-23 08:24:06,920 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 08:24:06,930 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 08:24:06,933 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 08:24:06,934 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 08:24:06,935 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 08:24:06,935 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:06,981 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/c647d7ae0/1090979783cd4ac2a7200d86f722d7b9/FLAG392d3af3a [2018-11-23 08:24:07,363 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 08:24:07,363 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:07,369 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/c647d7ae0/1090979783cd4ac2a7200d86f722d7b9/FLAG392d3af3a [2018-11-23 08:24:07,381 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/c647d7ae0/1090979783cd4ac2a7200d86f722d7b9 [2018-11-23 08:24:07,383 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 08:24:07,384 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 08:24:07,385 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 08:24:07,385 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 08:24:07,389 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 08:24:07,389 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,392 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@16fbd88f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07, skipping insertion in model container [2018-11-23 08:24:07,392 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,399 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 08:24:07,424 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 08:24:07,618 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:24:07,625 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 08:24:07,678 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:24:07,752 INFO L195 MainTranslator]: Completed translation [2018-11-23 08:24:07,753 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07 WrapperNode [2018-11-23 08:24:07,753 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 08:24:07,754 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 08:24:07,754 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 08:24:07,754 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 08:24:07,762 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,778 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,786 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 08:24:07,787 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 08:24:07,787 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 08:24:07,787 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 08:24:07,797 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,797 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,803 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,803 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,828 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,838 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,841 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... [2018-11-23 08:24:07,846 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 08:24:07,846 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 08:24:07,846 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 08:24:07,846 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 08:24:07,847 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:24:07,897 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 08:24:07,897 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 08:24:07,897 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 08:24:07,897 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 08:24:07,898 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 08:24:07,898 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 08:24:07,898 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 08:24:07,898 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 08:24:07,898 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 08:24:07,898 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 08:24:07,898 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 08:24:07,899 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 08:24:07,899 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 08:24:07,899 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 08:24:07,900 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 08:24:07,900 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 08:24:07,900 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 08:24:07,900 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 08:24:07,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 08:24:07,900 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 08:24:08,474 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 08:24:08,474 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 08:24:08,475 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:24:08 BoogieIcfgContainer [2018-11-23 08:24:08,475 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 08:24:08,476 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 08:24:08,476 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 08:24:08,478 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 08:24:08,478 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 08:24:07" (1/3) ... [2018-11-23 08:24:08,479 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@606be823 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:24:08, skipping insertion in model container [2018-11-23 08:24:08,479 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:07" (2/3) ... [2018-11-23 08:24:08,479 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@606be823 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:24:08, skipping insertion in model container [2018-11-23 08:24:08,480 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:24:08" (3/3) ... [2018-11-23 08:24:08,481 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:08,491 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 08:24:08,499 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 08:24:08,511 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 08:24:08,536 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 08:24:08,537 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 08:24:08,537 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 08:24:08,537 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 08:24:08,537 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 08:24:08,537 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 08:24:08,537 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 08:24:08,538 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 08:24:08,558 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states. [2018-11-23 08:24:08,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 08:24:08,565 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:08,566 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:08,569 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:08,574 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:08,575 INFO L82 PathProgramCache]: Analyzing trace with hash 466315102, now seen corresponding path program 1 times [2018-11-23 08:24:08,577 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 08:24:08,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:08,623 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:08,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:08,623 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 08:24:08,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:08,734 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:08,736 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:08,736 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 08:24:08,736 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-23 08:24:08,741 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 08:24:08,755 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 08:24:08,755 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 08:24:08,757 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 2 states. [2018-11-23 08:24:08,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:24:08,791 INFO L93 Difference]: Finished difference Result 250 states and 387 transitions. [2018-11-23 08:24:08,791 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 08:24:08,792 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 28 [2018-11-23 08:24:08,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:24:08,800 INFO L225 Difference]: With dead ends: 250 [2018-11-23 08:24:08,800 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 08:24:08,804 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 08:24:08,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 08:24:08,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 08:24:08,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 08:24:08,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 165 transitions. [2018-11-23 08:24:08,851 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 165 transitions. Word has length 28 [2018-11-23 08:24:08,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:24:08,851 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 165 transitions. [2018-11-23 08:24:08,852 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 08:24:08,852 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 165 transitions. [2018-11-23 08:24:08,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 08:24:08,853 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:08,853 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:08,853 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:08,854 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:08,854 INFO L82 PathProgramCache]: Analyzing trace with hash 1702044329, now seen corresponding path program 1 times [2018-11-23 08:24:08,854 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 08:24:08,855 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:08,855 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:08,855 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:08,855 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 08:24:08,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:08,950 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:08,951 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:08,951 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 08:24:08,951 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-23 08:24:08,953 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 08:24:08,953 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 08:24:08,953 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 08:24:08,953 INFO L87 Difference]: Start difference. First operand 124 states and 165 transitions. Second operand 3 states. [2018-11-23 08:24:08,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:24:08,988 INFO L93 Difference]: Finished difference Result 225 states and 306 transitions. [2018-11-23 08:24:08,989 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 08:24:08,989 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2018-11-23 08:24:08,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:24:08,991 INFO L225 Difference]: With dead ends: 225 [2018-11-23 08:24:08,991 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 08:24:08,993 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 08:24:08,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 08:24:09,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 08:24:09,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 08:24:09,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 164 transitions. [2018-11-23 08:24:09,005 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 164 transitions. Word has length 31 [2018-11-23 08:24:09,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:24:09,005 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 164 transitions. [2018-11-23 08:24:09,005 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 08:24:09,006 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 164 transitions. [2018-11-23 08:24:09,007 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 08:24:09,007 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:09,007 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:09,007 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:09,007 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:09,008 INFO L82 PathProgramCache]: Analyzing trace with hash 810186703, now seen corresponding path program 1 times [2018-11-23 08:24:09,008 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 08:24:09,009 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:09,009 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:09,009 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:24:09,009 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 08:24:09,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 08:24:09,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 08:24:09,217 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=10737418270, |#NULL.offset|=10737418263, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418253, |~#aT_atan~0.offset|=10737418260, |~#atanhi_atan~0.base|=10737418255, |~#atanhi_atan~0.offset|=10737418266, |~#atanlo_atan~0.base|=10737418246, |~#atanlo_atan~0.offset|=10737418279, ~huge_atan~0=10737418271.0, ~one_atan~0=10737418261.0, ~pi_lo_atan2~0=10737418259.0, ~pi_o_2~0=10737418241.0, ~pi_o_4~0=10737418265.0, ~pi~0=10737418268.0, ~tiny_atan2~0=10737418275.0, ~zero_atan2~0=10737418252.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #406#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);~y~0 := #t~nondet56;havoc #t~nondet56; VAL [main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret57 := isinf_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~2;havoc ~lx~1; VAL [isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8);call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4);~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~union49;havoc #t~mem48;call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4);~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~mem50;havoc #t~union51;call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset);havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647);~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);~hx~2 := 2146435072 - ~hx~2;#res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #390#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647;#t~short59 := 0 != #t~ret57; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short59; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret58 := isfinite_double(~y~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~3; VAL [isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8);call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4);~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8);havoc #t~union53;havoc #t~mem52;call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset);havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #392#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~ret58|=(- 1), |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647;#t~short59 := 0 != #t~ret58; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~ret58|=(- 1), |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0);havoc #t~ret57;havoc #t~short59;havoc #t~ret58; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union30;havoc #t~mem29;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union32;havoc #t~mem31;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union34;havoc #t~mem33;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #394#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret60|=10737418269.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret60;havoc #t~ret60;#t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short62|=false, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !#t~short62; VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short62|=false, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !#t~short62;havoc #t~short62;havoc #t~ret61; VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418270, #NULL.offset=10737418263, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418253, ~#aT_atan~0.offset=10737418260, ~#atanhi_atan~0.base=10737418255, ~#atanhi_atan~0.offset=10737418266, ~#atanlo_atan~0.base=10737418246, ~#atanlo_atan~0.offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume #t~short59; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292-L301] assume #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] assume !#t~short62; VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297-L300] assume !#t~short62; [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418270, #NULL.offset=10737418263, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418253, ~#aT_atan~0.offset=10737418260, ~#atanhi_atan~0.base=10737418255, ~#atanhi_atan~0.offset=10737418266, ~#atanlo_atan~0.base=10737418246, ~#atanlo_atan~0.offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume #t~short59; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292-L301] assume #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] assume !#t~short62; VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297-L300] assume !#t~short62; [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- [2018-11-23 08:24:09,591 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418253 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 08:24:09,592 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418266 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 08:24:09,593 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418255 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 08:24:09,593 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418260 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 08:24:09,593 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418246 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 08:24:09,594 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418279 could not be translated for associated CType ARRAY#_4_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~ret57; [L292] havoc #t~short59; [L292] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=10737418271, \old(one_atan)=10737418261, \old(pi)=10737418268, \old(pi_lo_atan2)=10737418259, \old(pi_o_2)=10737418241, \old(pi_o_4)=10737418265, \old(tiny_atan2)=10737418275, \old(zero_atan2)=10737418252, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L292] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=10737418262, \result=2, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=3, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, zero_atan2=0] [L292] RET, EXPR isinf_double(x) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418273, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=10737418273, \result=-1, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418273, zero_atan2=0] [L292] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L294] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=10737418277, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L294] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418269, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=10737418269, res == 0.0 && __signbit_double(res) == 0=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L297] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L298] __VERIFIER_error() VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=10737418269, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] ----- [2018-11-23 08:24:09,776 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 08:24:09 BoogieIcfgContainer [2018-11-23 08:24:09,776 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 08:24:09,776 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 08:24:09,777 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 08:24:09,777 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 08:24:09,777 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:24:08" (3/4) ... [2018-11-23 08:24:09,787 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 08:24:09,788 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 08:24:09,789 INFO L168 Benchmark]: Toolchain (without parser) took 2405.00 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 149.4 MB). Free memory was 959.1 MB in the beginning and 992.1 MB in the end (delta: -33.0 MB). Peak memory consumption was 116.5 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,790 INFO L168 Benchmark]: CDTParser took 0.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:24:09,791 INFO L168 Benchmark]: CACSL2BoogieTranslator took 368.48 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 149.4 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -187.4 MB). Peak memory consumption was 35.0 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,792 INFO L168 Benchmark]: Boogie Procedure Inliner took 32.82 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,793 INFO L168 Benchmark]: Boogie Preprocessor took 59.04 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,793 INFO L168 Benchmark]: RCFGBuilder took 629.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 59.2 MB). Peak memory consumption was 59.2 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,794 INFO L168 Benchmark]: TraceAbstraction took 1300.40 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 992.1 MB in the end (delta: 88.5 MB). Peak memory consumption was 88.5 MB. Max. memory is 11.5 GB. [2018-11-23 08:24:09,794 INFO L168 Benchmark]: Witness Printer took 11.43 ms. Allocated memory is still 1.2 GB. Free memory is still 992.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:24:09,798 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 368.48 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 149.4 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -187.4 MB). Peak memory consumption was 35.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 32.82 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 59.04 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 629.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 59.2 MB). Peak memory consumption was 59.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1300.40 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 992.1 MB in the end (delta: 88.5 MB). Peak memory consumption was 88.5 MB. Max. memory is 11.5 GB. * Witness Printer took 11.43 ms. Allocated memory is still 1.2 GB. Free memory is still 992.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418253 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418266 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418255 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418260 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418246 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418279 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 298]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 52, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryDOUBLEComparisonOperation at line 297. Possible FailurePath: [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=10737418271, \old(one_atan)=10737418261, \old(pi)=10737418268, \old(pi_lo_atan2)=10737418259, \old(pi_o_2)=10737418241, \old(pi_o_4)=10737418265, \old(tiny_atan2)=10737418275, \old(zero_atan2)=10737418252, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L292] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=10737418262, \result=2, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=3, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, zero_atan2=0] [L292] RET, EXPR isinf_double(x) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418273, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=10737418273, \result=-1, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418273, zero_atan2=0] [L292] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L294] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=10737418277, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L294] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418269, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=10737418269, res == 0.0 && __signbit_double(res) == 0=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L297] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L298] __VERIFIER_error() VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=10737418269, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 9 procedures, 129 locations, 1 error locations. UNSAFE Result, 1.2s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 0.1s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 336 SDtfs, 0 SDslu, 160 SDs, 0 SdLazy, 4 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=129occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 98 NumberOfCodeBlocks, 98 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 57 ConstructedInterpolants, 0 QuantifiedInterpolants, 1659 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 08:24:11,570 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 08:24:11,572 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 08:24:11,581 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 08:24:11,581 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 08:24:11,582 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 08:24:11,583 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 08:24:11,585 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 08:24:11,586 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 08:24:11,587 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 08:24:11,588 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 08:24:11,588 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 08:24:11,589 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 08:24:11,590 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 08:24:11,591 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 08:24:11,592 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 08:24:11,593 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 08:24:11,595 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 08:24:11,596 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 08:24:11,597 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 08:24:11,598 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 08:24:11,599 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 08:24:11,602 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 08:24:11,602 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 08:24:11,602 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 08:24:11,603 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 08:24:11,605 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 08:24:11,605 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 08:24:11,606 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 08:24:11,607 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 08:24:11,607 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 08:24:11,608 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 08:24:11,608 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 08:24:11,609 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 08:24:11,609 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 08:24:11,610 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 08:24:11,610 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-23 08:24:11,623 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 08:24:11,623 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 08:24:11,624 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 08:24:11,624 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 08:24:11,624 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 08:24:11,625 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 08:24:11,625 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 08:24:11,625 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 08:24:11,625 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 08:24:11,625 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 08:24:11,626 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 08:24:11,626 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 08:24:11,626 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 08:24:11,626 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 08:24:11,626 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 08:24:11,627 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 08:24:11,627 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 08:24:11,627 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 08:24:11,627 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 08:24:11,627 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 08:24:11,629 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 08:24:11,629 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 08:24:11,629 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 08:24:11,630 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 08:24:11,630 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 08:24:11,630 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 08:24:11,630 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 08:24:11,630 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:24:11,630 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 08:24:11,631 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 [2018-11-23 08:24:11,667 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 08:24:11,678 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 08:24:11,681 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 08:24:11,682 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 08:24:11,683 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 08:24:11,684 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:11,737 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/0fa89ba51/819cfd54e52145e1a5e85ff52c6a98ff/FLAG9347cf3c5 [2018-11-23 08:24:12,109 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 08:24:12,110 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:12,115 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/0fa89ba51/819cfd54e52145e1a5e85ff52c6a98ff/FLAG9347cf3c5 [2018-11-23 08:24:12,125 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/data/0fa89ba51/819cfd54e52145e1a5e85ff52c6a98ff [2018-11-23 08:24:12,128 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 08:24:12,129 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 08:24:12,129 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 08:24:12,130 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 08:24:12,133 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 08:24:12,134 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,136 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@772a8eb9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12, skipping insertion in model container [2018-11-23 08:24:12,137 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,146 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 08:24:12,175 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 08:24:12,387 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:24:12,394 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 08:24:12,455 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:24:12,484 INFO L195 MainTranslator]: Completed translation [2018-11-23 08:24:12,484 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12 WrapperNode [2018-11-23 08:24:12,484 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 08:24:12,485 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 08:24:12,485 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 08:24:12,485 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 08:24:12,492 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,560 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,569 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 08:24:12,569 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 08:24:12,569 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 08:24:12,569 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 08:24:12,576 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,576 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,581 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,581 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,603 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,610 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,613 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... [2018-11-23 08:24:12,616 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 08:24:12,616 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 08:24:12,617 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 08:24:12,617 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 08:24:12,618 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:24:12,664 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 08:24:12,665 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 08:24:12,665 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 08:24:12,665 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 08:24:12,665 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 08:24:12,665 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 08:24:12,665 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 08:24:12,666 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 08:24:12,666 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 08:24:12,666 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 08:24:12,666 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 08:24:12,666 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 08:24:12,666 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 08:24:12,667 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 08:24:12,667 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 08:24:12,667 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 08:24:12,667 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 08:24:12,668 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 08:24:12,668 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 08:24:12,668 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 08:24:12,668 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 08:24:12,668 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 08:24:12,668 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 08:24:12,668 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 08:24:12,669 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 08:24:12,852 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:12,887 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:13,013 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,482 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,665 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,771 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,796 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,820 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,848 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,916 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:15,941 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:21,245 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:24:31,660 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 08:24:31,661 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 08:24:31,661 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:24:31 BoogieIcfgContainer [2018-11-23 08:24:31,661 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 08:24:31,662 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 08:24:31,662 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 08:24:31,665 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 08:24:31,666 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 08:24:12" (1/3) ... [2018-11-23 08:24:31,666 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@80c3493 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:24:31, skipping insertion in model container [2018-11-23 08:24:31,666 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:24:12" (2/3) ... [2018-11-23 08:24:31,667 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@80c3493 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:24:31, skipping insertion in model container [2018-11-23 08:24:31,667 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:24:31" (3/3) ... [2018-11-23 08:24:31,669 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0683b_true-unreach-call.c [2018-11-23 08:24:31,679 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 08:24:31,686 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 08:24:31,698 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 08:24:31,722 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 08:24:31,722 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 08:24:31,723 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 08:24:31,723 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 08:24:31,723 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 08:24:31,723 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 08:24:31,723 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 08:24:31,723 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 08:24:31,723 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 08:24:31,741 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states. [2018-11-23 08:24:31,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 08:24:31,746 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:31,747 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:31,749 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:31,753 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:31,754 INFO L82 PathProgramCache]: Analyzing trace with hash 466315102, now seen corresponding path program 1 times [2018-11-23 08:24:31,758 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:24:31,759 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 08:24:31,772 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:32,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:32,091 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:24:32,107 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:32,107 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:24:32,121 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:32,122 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 08:24:32,124 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 08:24:32,134 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 08:24:32,134 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 08:24:32,136 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 2 states. [2018-11-23 08:24:32,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:24:32,165 INFO L93 Difference]: Finished difference Result 250 states and 387 transitions. [2018-11-23 08:24:32,165 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 08:24:32,166 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 28 [2018-11-23 08:24:32,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:24:32,175 INFO L225 Difference]: With dead ends: 250 [2018-11-23 08:24:32,176 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 08:24:32,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 08:24:32,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 08:24:32,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 08:24:32,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 08:24:32,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 165 transitions. [2018-11-23 08:24:32,217 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 165 transitions. Word has length 28 [2018-11-23 08:24:32,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:24:32,217 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 165 transitions. [2018-11-23 08:24:32,218 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 08:24:32,218 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 165 transitions. [2018-11-23 08:24:32,219 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 08:24:32,219 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:32,219 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:32,219 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:32,219 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:32,220 INFO L82 PathProgramCache]: Analyzing trace with hash 1702044329, now seen corresponding path program 1 times [2018-11-23 08:24:32,220 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:24:32,220 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 08:24:32,224 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:32,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:32,523 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:24:32,536 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:32,536 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:24:32,550 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:32,550 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 08:24:32,551 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 08:24:32,552 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 08:24:32,552 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 08:24:32,552 INFO L87 Difference]: Start difference. First operand 124 states and 165 transitions. Second operand 3 states. [2018-11-23 08:24:32,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:24:32,576 INFO L93 Difference]: Finished difference Result 225 states and 306 transitions. [2018-11-23 08:24:32,577 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 08:24:32,577 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2018-11-23 08:24:32,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:24:32,578 INFO L225 Difference]: With dead ends: 225 [2018-11-23 08:24:32,578 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 08:24:32,579 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 08:24:32,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 08:24:32,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 08:24:32,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 08:24:32,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 164 transitions. [2018-11-23 08:24:32,588 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 164 transitions. Word has length 31 [2018-11-23 08:24:32,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:24:32,588 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 164 transitions. [2018-11-23 08:24:32,588 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 08:24:32,589 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 164 transitions. [2018-11-23 08:24:32,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 08:24:32,589 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:32,589 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:32,590 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:32,590 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:32,590 INFO L82 PathProgramCache]: Analyzing trace with hash 810186703, now seen corresponding path program 1 times [2018-11-23 08:24:32,590 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:24:32,590 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 08:24:32,600 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:33,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:33,247 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:24:35,269 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_61 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_61))) is different from true [2018-11-23 08:24:35,425 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:35,426 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:35,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 08:24:35,504 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-23 08:24:35,505 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:35,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 08:24:35,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 08:24:35,527 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:35,531 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:35,534 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:35,545 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 08:24:35,545 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 08:24:36,159 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,161 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,162 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,163 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,164 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,165 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 6 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 7 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 127 [2018-11-23 08:24:36,349 WARN L180 SmtUtils]: Spent 179.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 37 [2018-11-23 08:24:36,430 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,440 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:36,466 INFO L303 Elim1Store]: Index analysis took 115 ms [2018-11-23 08:24:36,467 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 4 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 90 [2018-11-23 08:24:36,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2018-11-23 08:24:36,502 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:36,598 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:36,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2018-11-23 08:24:36,746 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:36,830 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 24 [2018-11-23 08:24:36,843 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 10 [2018-11-23 08:24:36,843 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:36,869 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:36,992 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 25 [2018-11-23 08:24:37,017 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 11 [2018-11-23 08:24:37,017 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:37,030 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:37,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:37,400 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 08:24:37,400 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:99, output treesize:36 [2018-11-23 08:24:42,970 WARN L180 SmtUtils]: Spent 4.38 s on a formula simplification. DAG size of input: 73 DAG size of output: 65 [2018-11-23 08:24:43,249 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:43,250 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:24:43,265 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:43,266 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2018-11-23 08:24:43,266 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 08:24:43,266 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 08:24:43,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=238, Unknown=1, NotChecked=30, Total=306 [2018-11-23 08:24:43,267 INFO L87 Difference]: Start difference. First operand 124 states and 164 transitions. Second operand 18 states. [2018-11-23 08:24:44,825 WARN L180 SmtUtils]: Spent 293.00 ms on a formula simplification. DAG size of input: 69 DAG size of output: 69 [2018-11-23 08:24:45,440 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 08:24:45,821 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 35 [2018-11-23 08:24:46,913 WARN L180 SmtUtils]: Spent 472.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 46 [2018-11-23 08:24:47,851 WARN L180 SmtUtils]: Spent 512.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 51 [2018-11-23 08:24:49,639 WARN L180 SmtUtils]: Spent 1.22 s on a formula simplification. DAG size of input: 91 DAG size of output: 86 [2018-11-23 08:24:57,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:24:57,407 INFO L93 Difference]: Finished difference Result 156 states and 205 transitions. [2018-11-23 08:24:57,408 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 08:24:57,408 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2018-11-23 08:24:57,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:24:57,410 INFO L225 Difference]: With dead ends: 156 [2018-11-23 08:24:57,410 INFO L226 Difference]: Without dead ends: 117 [2018-11-23 08:24:57,411 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 18 SyntacticMatches, 4 SemanticMatches, 25 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 12.9s TimeCoverageRelationStatistics Valid=99, Invalid=554, Unknown=1, NotChecked=48, Total=702 [2018-11-23 08:24:57,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2018-11-23 08:24:57,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 117. [2018-11-23 08:24:57,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 08:24:57,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 149 transitions. [2018-11-23 08:24:57,420 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 149 transitions. Word has length 39 [2018-11-23 08:24:57,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:24:57,420 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 149 transitions. [2018-11-23 08:24:57,420 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 08:24:57,421 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 149 transitions. [2018-11-23 08:24:57,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 08:24:57,422 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:24:57,422 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:24:57,422 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:24:57,422 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:24:57,423 INFO L82 PathProgramCache]: Analyzing trace with hash -1791330064, now seen corresponding path program 1 times [2018-11-23 08:24:57,423 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:24:57,423 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 08:24:57,427 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:24:57,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:24:57,960 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:24:58,011 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:58,011 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:24:58,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 08:24:58,059 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 28 [2018-11-23 08:24:58,060 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:58,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 08:24:58,081 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 08:24:58,081 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:24:58,084 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:58,087 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:24:58,098 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 08:24:58,098 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 08:24:58,199 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:24:58,199 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:24:58,212 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:24:58,212 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 08:24:58,212 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 08:24:58,212 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 08:24:58,213 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 08:24:58,213 INFO L87 Difference]: Start difference. First operand 117 states and 149 transitions. Second operand 7 states. [2018-11-23 08:24:59,828 WARN L180 SmtUtils]: Spent 1.40 s on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 08:25:03,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:03,869 INFO L93 Difference]: Finished difference Result 159 states and 206 transitions. [2018-11-23 08:25:03,871 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 08:25:03,871 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 44 [2018-11-23 08:25:03,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:03,872 INFO L225 Difference]: With dead ends: 159 [2018-11-23 08:25:03,872 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 08:25:03,872 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 08:25:03,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 08:25:03,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-23 08:25:03,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 08:25:03,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 138 transitions. [2018-11-23 08:25:03,882 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 138 transitions. Word has length 44 [2018-11-23 08:25:03,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:03,882 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 138 transitions. [2018-11-23 08:25:03,882 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 08:25:03,882 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 138 transitions. [2018-11-23 08:25:03,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 08:25:03,883 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:03,883 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:03,884 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:03,884 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:03,884 INFO L82 PathProgramCache]: Analyzing trace with hash -1190223630, now seen corresponding path program 1 times [2018-11-23 08:25:03,884 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:03,884 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:03,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:04,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:04,191 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:04,267 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:04,267 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:04,287 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:04,288 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 08:25:04,288 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 08:25:04,288 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 08:25:04,288 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 08:25:04,288 INFO L87 Difference]: Start difference. First operand 111 states and 138 transitions. Second operand 6 states. [2018-11-23 08:25:06,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:06,305 INFO L93 Difference]: Finished difference Result 127 states and 154 transitions. [2018-11-23 08:25:06,306 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 08:25:06,306 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 08:25:06,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:06,307 INFO L225 Difference]: With dead ends: 127 [2018-11-23 08:25:06,307 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 08:25:06,308 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2018-11-23 08:25:06,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 08:25:06,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-23 08:25:06,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 08:25:06,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 137 transitions. [2018-11-23 08:25:06,323 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 137 transitions. Word has length 44 [2018-11-23 08:25:06,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:06,324 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 137 transitions. [2018-11-23 08:25:06,324 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 08:25:06,324 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 137 transitions. [2018-11-23 08:25:06,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 08:25:06,326 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:06,327 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:06,327 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:06,327 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:06,327 INFO L82 PathProgramCache]: Analyzing trace with hash -1999570256, now seen corresponding path program 1 times [2018-11-23 08:25:06,328 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:06,328 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:06,336 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:06,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:06,890 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:08,911 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_71 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_71))) is different from true [2018-11-23 08:25:09,061 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:09,062 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:09,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 08:25:09,123 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-23 08:25:09,124 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:09,142 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 08:25:09,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 08:25:09,148 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:09,151 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:09,154 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:09,166 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 08:25:09,166 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 08:25:11,233 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 08:25:13,312 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 08:25:13,404 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:13,404 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:13,418 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:13,419 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 08:25:13,419 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 08:25:13,419 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 08:25:13,419 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=57, Unknown=1, NotChecked=14, Total=90 [2018-11-23 08:25:13,419 INFO L87 Difference]: Start difference. First operand 111 states and 137 transitions. Second operand 10 states. [2018-11-23 08:25:15,669 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 08:25:17,757 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 08:25:19,963 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 08:25:21,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:21,581 INFO L93 Difference]: Finished difference Result 126 states and 152 transitions. [2018-11-23 08:25:21,582 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 08:25:21,582 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 44 [2018-11-23 08:25:21,582 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:21,583 INFO L225 Difference]: With dead ends: 126 [2018-11-23 08:25:21,583 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 08:25:21,583 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 12.5s TimeCoverageRelationStatistics Valid=36, Invalid=99, Unknown=1, NotChecked=20, Total=156 [2018-11-23 08:25:21,583 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 08:25:21,593 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2018-11-23 08:25:21,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 08:25:21,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 134 transitions. [2018-11-23 08:25:21,594 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 134 transitions. Word has length 44 [2018-11-23 08:25:21,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:21,594 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 134 transitions. [2018-11-23 08:25:21,594 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 08:25:21,594 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 134 transitions. [2018-11-23 08:25:21,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 08:25:21,595 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:21,595 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:21,595 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:21,595 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:21,595 INFO L82 PathProgramCache]: Analyzing trace with hash -1286917136, now seen corresponding path program 1 times [2018-11-23 08:25:21,596 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:21,596 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:21,600 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:21,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:21,827 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:21,882 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:21,882 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:21,894 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:21,894 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 08:25:21,894 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 08:25:21,895 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 08:25:21,895 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 08:25:21,895 INFO L87 Difference]: Start difference. First operand 109 states and 134 transitions. Second operand 6 states. [2018-11-23 08:25:27,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:27,671 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2018-11-23 08:25:27,671 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 08:25:27,671 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 45 [2018-11-23 08:25:27,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:27,672 INFO L225 Difference]: With dead ends: 116 [2018-11-23 08:25:27,673 INFO L226 Difference]: Without dead ends: 113 [2018-11-23 08:25:27,673 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-23 08:25:27,673 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2018-11-23 08:25:27,683 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 113. [2018-11-23 08:25:27,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 08:25:27,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 138 transitions. [2018-11-23 08:25:27,684 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 138 transitions. Word has length 45 [2018-11-23 08:25:27,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:27,684 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 138 transitions. [2018-11-23 08:25:27,684 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 08:25:27,684 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 138 transitions. [2018-11-23 08:25:27,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 08:25:27,685 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:27,685 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:27,685 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:27,686 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:27,686 INFO L82 PathProgramCache]: Analyzing trace with hash 49045008, now seen corresponding path program 1 times [2018-11-23 08:25:27,686 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:27,686 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:27,694 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:27,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:27,922 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:28,122 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:28,122 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:28,135 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:28,135 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 08:25:28,136 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 08:25:28,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 08:25:28,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 08:25:28,136 INFO L87 Difference]: Start difference. First operand 113 states and 138 transitions. Second operand 8 states. [2018-11-23 08:25:34,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:34,232 INFO L93 Difference]: Finished difference Result 130 states and 155 transitions. [2018-11-23 08:25:34,233 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 08:25:34,233 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 08:25:34,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:34,235 INFO L225 Difference]: With dead ends: 130 [2018-11-23 08:25:34,235 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 08:25:34,235 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-23 08:25:34,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 08:25:34,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 113. [2018-11-23 08:25:34,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 08:25:34,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 136 transitions. [2018-11-23 08:25:34,245 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 136 transitions. Word has length 46 [2018-11-23 08:25:34,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:34,245 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 136 transitions. [2018-11-23 08:25:34,245 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 08:25:34,245 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 136 transitions. [2018-11-23 08:25:34,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 08:25:34,245 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:34,245 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:34,246 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:34,246 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:34,246 INFO L82 PathProgramCache]: Analyzing trace with hash -1752836033, now seen corresponding path program 1 times [2018-11-23 08:25:34,246 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:34,246 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:34,249 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:34,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:34,970 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:34,990 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:34,990 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:34,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 08:25:35,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 08:25:35,036 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:35,046 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 08:25:35,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 08:25:35,049 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:35,050 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:35,051 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:35,056 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 08:25:35,057 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 08:25:35,123 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:35,123 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:35,136 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:35,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 08:25:35,136 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 08:25:35,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 08:25:35,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 08:25:35,136 INFO L87 Difference]: Start difference. First operand 113 states and 136 transitions. Second operand 7 states. [2018-11-23 08:25:37,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:25:37,684 INFO L93 Difference]: Finished difference Result 145 states and 176 transitions. [2018-11-23 08:25:37,685 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 08:25:37,685 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 47 [2018-11-23 08:25:37,685 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:25:37,686 INFO L225 Difference]: With dead ends: 145 [2018-11-23 08:25:37,686 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 08:25:37,686 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 08:25:37,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 08:25:37,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-23 08:25:37,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 08:25:37,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 131 transitions. [2018-11-23 08:25:37,695 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 131 transitions. Word has length 47 [2018-11-23 08:25:37,695 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:25:37,695 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 131 transitions. [2018-11-23 08:25:37,696 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 08:25:37,696 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 131 transitions. [2018-11-23 08:25:37,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 08:25:37,696 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:25:37,699 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:25:37,700 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:25:37,700 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:25:37,700 INFO L82 PathProgramCache]: Analyzing trace with hash 2064213236, now seen corresponding path program 1 times [2018-11-23 08:25:37,700 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:25:37,700 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 11 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with mathsat -unsat_core_generation=3 [2018-11-23 08:25:37,703 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:25:38,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:25:38,270 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:25:39,746 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_75 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_75))) is different from true [2018-11-23 08:25:39,933 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:39,933 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 08:25:39,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 08:25:40,023 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-23 08:25:40,024 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:40,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 08:25:40,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 08:25:40,103 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 08:25:40,144 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:40,169 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 08:25:40,202 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 08:25:40,202 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:49, output treesize:21 [2018-11-23 08:25:42,269 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 21 [2018-11-23 08:25:44,366 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 30 [2018-11-23 08:25:46,856 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:25:46,856 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:25:46,868 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:25:46,868 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2018-11-23 08:25:46,869 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 08:25:46,869 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 08:25:46,869 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=154, Unknown=2, NotChecked=24, Total=210 [2018-11-23 08:25:46,869 INFO L87 Difference]: Start difference. First operand 111 states and 131 transitions. Second operand 15 states. [2018-11-23 08:25:49,124 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 23 [2018-11-23 08:25:51,670 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 08:25:53,854 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 08:25:56,034 WARN L180 SmtUtils]: Spent 2.09 s on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 08:25:58,692 WARN L180 SmtUtils]: Spent 2.39 s on a formula simplification that was a NOOP. DAG size: 88 [2018-11-23 08:26:01,025 WARN L180 SmtUtils]: Spent 2.16 s on a formula simplification that was a NOOP. DAG size: 80 [2018-11-23 08:26:06,037 WARN L180 SmtUtils]: Spent 4.46 s on a formula simplification. DAG size of input: 88 DAG size of output: 86 [2018-11-23 08:26:11,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:26:11,174 INFO L93 Difference]: Finished difference Result 122 states and 141 transitions. [2018-11-23 08:26:11,175 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 08:26:11,175 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 47 [2018-11-23 08:26:11,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:26:11,175 INFO L225 Difference]: With dead ends: 122 [2018-11-23 08:26:11,175 INFO L226 Difference]: Without dead ends: 54 [2018-11-23 08:26:11,176 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 25.8s TimeCoverageRelationStatistics Valid=101, Invalid=321, Unknown=2, NotChecked=38, Total=462 [2018-11-23 08:26:11,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-23 08:26:11,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2018-11-23 08:26:11,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 08:26:11,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 53 transitions. [2018-11-23 08:26:11,180 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 53 transitions. Word has length 47 [2018-11-23 08:26:11,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:26:11,180 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 53 transitions. [2018-11-23 08:26:11,180 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 08:26:11,180 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 53 transitions. [2018-11-23 08:26:11,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 08:26:11,180 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:26:11,180 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 08:26:11,180 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:26:11,180 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:26:11,181 INFO L82 PathProgramCache]: Analyzing trace with hash 1397529593, now seen corresponding path program 1 times [2018-11-23 08:26:11,181 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 08:26:11,181 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a38cd81a-760c-4ebc-89cd-64ba7c03bb67/bin-2019/utaipan/mathsat Starting monitored process 12 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with mathsat -unsat_core_generation=3 [2018-11-23 08:26:11,183 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:26:11,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:26:11,390 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 08:26:11,530 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 08:26:11,530 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 08:26:11,540 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:26:11,540 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 08:26:11,541 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 08:26:11,541 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 08:26:11,541 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2018-11-23 08:26:11,541 INFO L87 Difference]: Start difference. First operand 54 states and 53 transitions. Second operand 11 states. [2018-11-23 08:26:12,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:26:12,018 INFO L93 Difference]: Finished difference Result 54 states and 53 transitions. [2018-11-23 08:26:12,019 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 08:26:12,019 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 53 [2018-11-23 08:26:12,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:26:12,019 INFO L225 Difference]: With dead ends: 54 [2018-11-23 08:26:12,019 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 08:26:12,019 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2018-11-23 08:26:12,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 08:26:12,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 08:26:12,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 08:26:12,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 08:26:12,020 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 53 [2018-11-23 08:26:12,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:26:12,020 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 08:26:12,020 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 08:26:12,020 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 08:26:12,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 08:26:12,024 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 08:26:49,984 WARN L180 SmtUtils]: Spent 37.63 s on a formula simplification. DAG size of input: 248 DAG size of output: 196 [2018-11-23 08:27:06,968 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-11-23 08:27:06,968 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.getRedundancy(SimplifyDDA.java:621) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getRedundancy(SimplifyDDAWithTimeout.java:122) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA$Simplifier.walk(SimplifyDDA.java:371) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.simplifyOnce(SimplifyDDA.java:650) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getSimplifiedTerm(SimplifyDDAWithTimeout.java:187) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplify(SmtUtils.java:151) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplifyWithStatistics(SmtUtils.java:198) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter(HoareAnnotationComposer.java:149) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.(HoareAnnotationComposer.java:105) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeCFGHoareAnnotation(BasicCegarLoop.java:1009) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:346) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 31 more [2018-11-23 08:27:06,970 INFO L168 Benchmark]: Toolchain (without parser) took 174842.19 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 289.9 MB). Free memory was 948.7 MB in the beginning and 883.8 MB in the end (delta: 64.8 MB). Peak memory consumption was 354.8 MB. Max. memory is 11.5 GB. [2018-11-23 08:27:06,971 INFO L168 Benchmark]: CDTParser took 0.19 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:27:06,971 INFO L168 Benchmark]: CACSL2BoogieTranslator took 355.40 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 927.2 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 08:27:06,971 INFO L168 Benchmark]: Boogie Procedure Inliner took 83.56 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -195.8 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 08:27:06,971 INFO L168 Benchmark]: Boogie Preprocessor took 47.19 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:27:06,971 INFO L168 Benchmark]: RCFGBuilder took 19045.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 80.9 MB). Peak memory consumption was 80.9 MB. Max. memory is 11.5 GB. [2018-11-23 08:27:06,972 INFO L168 Benchmark]: TraceAbstraction took 155307.36 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 154.1 MB). Free memory was 1.0 GB in the beginning and 883.8 MB in the end (delta: 158.2 MB). Peak memory consumption was 312.4 MB. Max. memory is 11.5 GB. [2018-11-23 08:27:06,974 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 355.40 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 927.2 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 83.56 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -195.8 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 47.19 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 19045.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 80.9 MB). Peak memory consumption was 80.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 155307.36 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 154.1 MB). Free memory was 1.0 GB in the beginning and 883.8 MB in the end (delta: 158.2 MB). Peak memory consumption was 312.4 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 298]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...