./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0661b_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_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer --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 Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash f7b03c010cc5bb74fc451f0f165676fac13dd665 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer --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 Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash f7b03c010cc5bb74fc451f0f165676fac13dd665 .......................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 02:32:56,656 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:32:56,657 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:32:56,666 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:32:56,666 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:32:56,666 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:32:56,667 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:32:56,668 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:32:56,669 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:32:56,670 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:32:56,671 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:32:56,671 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:32:56,672 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:32:56,672 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:32:56,673 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:32:56,673 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:32:56,674 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:32:56,675 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:32:56,677 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:32:56,678 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:32:56,678 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:32:56,679 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:32:56,681 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:32:56,681 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:32:56,681 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:32:56,681 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:32:56,682 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:32:56,683 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:32:56,683 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:32:56,684 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:32:56,684 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:32:56,685 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:32:56,685 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:32:56,685 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:32:56,686 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:32:56,686 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:32:56,686 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 02:32:56,695 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:32:56,696 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:32:56,696 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:32:56,696 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 02:32:56,697 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:32:56,697 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:32:56,697 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 02:32:56,697 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:32:56,697 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:32:56,698 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:32:56,699 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 02:32:56,699 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:32:56,700 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:32:56,700 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:32:56,700 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:32:56,700 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 02:32:56,700 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:32:56,700 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 02:32:56,700 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_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer 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 -> Automizer 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 -> f7b03c010cc5bb74fc451f0f165676fac13dd665 [2018-11-23 02:32:56,726 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:32:56,735 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:32:56,741 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:32:56,742 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:32:56,742 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:32:56,743 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:32:56,786 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/b10cbf394/93aa8d52fda74bf19cf1c4509d36bfcd/FLAGe69efd984 [2018-11-23 02:32:57,120 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:32:57,121 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:32:57,125 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/b10cbf394/93aa8d52fda74bf19cf1c4509d36bfcd/FLAGe69efd984 [2018-11-23 02:32:57,543 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/b10cbf394/93aa8d52fda74bf19cf1c4509d36bfcd [2018-11-23 02:32:57,545 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:32:57,546 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:32:57,547 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:32:57,547 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:32:57,549 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:32:57,549 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,551 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@c9b2349 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57, skipping insertion in model container [2018-11-23 02:32:57,551 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,557 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:32:57,576 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:32:57,712 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:32:57,715 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:32:57,749 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:32:57,813 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:32:57,813 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57 WrapperNode [2018-11-23 02:32:57,813 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:32:57,814 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:32:57,814 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:32:57,814 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:32:57,821 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,833 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,839 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:32:57,840 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:32:57,840 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:32:57,840 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:32:57,847 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,847 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,850 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,850 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,867 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,875 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,877 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... [2018-11-23 02:32:57,880 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:32:57,880 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:32:57,880 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:32:57,881 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:32:57,881 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/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 02:32:57,916 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 02:32:57,917 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 02:32:57,917 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 02:32:57,917 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 02:32:57,917 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 02:32:57,917 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 02:32:57,917 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 02:32:57,917 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 02:32:57,917 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 02:32:57,918 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 02:32:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 02:32:57,918 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 02:32:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 02:32:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:32:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 02:32:57,918 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 02:32:57,918 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:32:57,918 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:32:57,919 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 02:32:57,919 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 02:32:57,919 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:32:58,352 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:32:58,352 INFO L280 CfgBuilder]: Removed 18 assue(true) statements. [2018-11-23 02:32:58,352 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:32:58 BoogieIcfgContainer [2018-11-23 02:32:58,352 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:32:58,353 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 02:32:58,353 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 02:32:58,356 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 02:32:58,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:32:57" (1/3) ... [2018-11-23 02:32:58,356 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ac55875 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:32:58, skipping insertion in model container [2018-11-23 02:32:58,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:32:57" (2/3) ... [2018-11-23 02:32:58,357 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ac55875 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:32:58, skipping insertion in model container [2018-11-23 02:32:58,357 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:32:58" (3/3) ... [2018-11-23 02:32:58,358 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:32:58,366 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 02:32:58,372 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 02:32:58,385 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 02:32:58,409 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 02:32:58,410 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 02:32:58,410 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 02:32:58,410 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 02:32:58,410 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 02:32:58,410 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 02:32:58,411 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 02:32:58,411 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 02:32:58,411 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 02:32:58,426 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states. [2018-11-23 02:32:58,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 02:32:58,431 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:32:58,431 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] [2018-11-23 02:32:58,433 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:32:58,437 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:32:58,437 INFO L82 PathProgramCache]: Analyzing trace with hash 913677384, now seen corresponding path program 1 times [2018-11-23 02:32:58,439 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 02:32:58,439 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 02:32:58,471 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:32:58,471 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:32:58,471 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:32:58,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:32:58,545 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 02:32:58,546 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:32:58,546 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 02:32:58,549 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 02:32:58,557 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 02:32:58,557 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:32:58,558 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 2 states. [2018-11-23 02:32:58,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:32:58,578 INFO L93 Difference]: Finished difference Result 215 states and 339 transitions. [2018-11-23 02:32:58,578 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 02:32:58,579 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 02:32:58,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:32:58,585 INFO L225 Difference]: With dead ends: 215 [2018-11-23 02:32:58,585 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 02:32:58,587 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 02:32:58,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 02:32:58,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-23 02:32:58,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 02:32:58,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 147 transitions. [2018-11-23 02:32:58,616 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 147 transitions. Word has length 20 [2018-11-23 02:32:58,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:32:58,616 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 147 transitions. [2018-11-23 02:32:58,616 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 02:32:58,616 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 147 transitions. [2018-11-23 02:32:58,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 02:32:58,617 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:32:58,617 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] [2018-11-23 02:32:58,617 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:32:58,618 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:32:58,618 INFO L82 PathProgramCache]: Analyzing trace with hash -1713483969, now seen corresponding path program 1 times [2018-11-23 02:32:58,618 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 02:32:58,618 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 02:32:58,619 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:32:58,619 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:32:58,619 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:32:58,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:32:58,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:32:58,713 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450969, |#NULL.offset|=6442450961, |old(#NULL.base)|=6442450969, |old(#NULL.offset)|=6442450961, |old(~#aT_atan~0.base)|=6442450952, |old(~#aT_atan~0.offset)|=6442450959, |old(~#atanhi_atan~0.base)|=6442450955, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450949, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450970.0, |old(~one_atan~0)|=6442450960.0, |old(~pi_lo_atan2~0)|=6442450958.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450966.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450951.0, |~#aT_atan~0.base|=6442450952, |~#aT_atan~0.offset|=6442450959, |~#atanhi_atan~0.base|=6442450955, |~#atanhi_atan~0.offset|=6442450965, |~#atanlo_atan~0.base|=6442450949, |~#atanlo_atan~0.offset|=6442450975, ~huge_atan~0=6442450970.0, ~one_atan~0=6442450960.0, ~pi_lo_atan2~0=6442450958.0, ~pi_o_2~0=6442450945.0, ~pi_o_4~0=6442450963.0, ~pi~0=6442450966.0, ~tiny_atan2~0=6442450974.0, ~zero_atan2~0=6442450951.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)|=6442450969, |old(#NULL.offset)|=6442450961, |old(~#aT_atan~0.base)|=6442450952, |old(~#aT_atan~0.offset)|=6442450959, |old(~#atanhi_atan~0.base)|=6442450955, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450949, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450970.0, |old(~one_atan~0)|=6442450960.0, |old(~pi_lo_atan2~0)|=6442450958.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450966.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450951.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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)|=6442450969, |old(#NULL.offset)|=6442450961, |old(~#aT_atan~0.base)|=6442450952, |old(~#aT_atan~0.offset)|=6442450959, |old(~#atanhi_atan~0.base)|=6442450955, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450949, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450970.0, |old(~one_atan~0)|=6442450960.0, |old(~pi_lo_atan2~0)|=6442450958.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450966.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450951.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 #362#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~ret54 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 := #t~nondet50;havoc #t~nondet50;~y~0 := 0.0; VAL [main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~mem27;havoc #t~union28;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~mem29;havoc #t~union30;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=6442450967, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450967, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450967, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~mem31;havoc #t~union32;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=3, __ieee754_atan2_~lx~0=6442450967, __ieee754_atan2_~ly~0=6442450947, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450967, __ieee754_atan2_~ly~0=6442450947, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450967, __ieee754_atan2_~ly~0=6442450947, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450967, __ieee754_atan2_~ly~0=6442450947, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450967, __ieee754_atan2_~ly~0=6442450947, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 #350#return; VAL [main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret51|=6442450972.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~ret51;havoc #t~ret51;#t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [main_~res~0=6442450972.0, main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short53|=false, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~short53; VAL [main_~res~0=6442450972.0, main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short53|=false, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~short53;havoc #t~ret52;havoc #t~short53; VAL [main_~res~0=6442450972.0, main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450972.0, main_~x~0=6442450964.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450969, #NULL.offset=6442450961, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450952, ~#aT_atan~0.offset=6442450959, ~#atanhi_atan~0.base=6442450955, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450949, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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~ret54 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267-L274] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] assume !#t~short53; VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270-L273] assume !#t~short53; [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450969, #NULL.offset=6442450961, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450952, ~#aT_atan~0.offset=6442450959, ~#atanhi_atan~0.base=6442450955, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450949, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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)=6442450969, old(#NULL.offset)=6442450961, old(~#aT_atan~0.base)=6442450952, old(~#aT_atan~0.offset)=6442450959, old(~#atanhi_atan~0.base)=6442450955, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450949, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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~ret54 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267-L274] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] assume !#t~short53; VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270-L273] assume !#t~short53; [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450961, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450952, ~#aT_atan~0!offset=6442450959, ~#atanhi_atan~0!base=6442450955, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450949, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450961, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450952, ~#aT_atan~0!offset=6442450959, ~#atanhi_atan~0!base=6442450955, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450949, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450961, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450952, ~#aT_atan~0!offset=6442450959, ~#atanhi_atan~0!base=6442450955, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450949, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] ----- [2018-11-23 02:32:58,858 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450952 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 02:32:58,859 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450949 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:32:58,859 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450975 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:32:58,859 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450959 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 02:32:58,859 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:32:58,861 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450955 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=6442450969, #NULL!offset=6442450961, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450952, ~#aT_atan~0!offset=6442450959, ~#atanhi_atan~0!base=6442450955, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450949, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.44245097E9, ~one_atan~0=6.44245096E9, ~pi_lo_atan2~0=6.442450958E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450966E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450951E9] [?] #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)=6442450969, old(#NULL!offset)=6442450961, old(~#aT_atan~0!base)=6442450952, old(~#aT_atan~0!offset)=6442450959, old(~#atanhi_atan~0!base)=6442450955, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450949, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.44245097E9, old(~one_atan~0)=6.44245096E9, old(~pi_lo_atan2~0)=6.442450958E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450966E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450951E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y=0.0, ~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~mem27; [L150] havoc #t~union28; [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~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450967, ~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=6.442450964E9, ~y=0.0, ~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~mem31; [L157] havoc #t~union32; [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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~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=6.442450964E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450967, ~ly~0=6442450947, ~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=6.442450964E9, ~y=0.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=6.442450972E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~ret52; [L270] havoc #t~short53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450972E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=0.0, ~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)=6442450970, \old(one_atan)=6442450960, \old(pi)=6442450966, \old(pi_lo_atan2)=6442450958, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450951, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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] [L264] double x = __VERIFIER_nondet_double(); [L265] double y = 0.0; VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L267] COND TRUE x > 0.0 VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L268] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, 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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450967, 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=6442450964, y=0, 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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450967, ly=6442450947, 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=6442450964, y=0, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450967, ly=6442450947, 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=6442450964, y=0, zero_atan2=0] [L268] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450972, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L268] double res = __ieee754_atan2(y, x); [L270] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450972, res == 0.0 && __signbit_double(res) == 0=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=0, zero_atan2=0] [L270] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L271] __VERIFIER_error() VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450972, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=0, zero_atan2=0] ----- [2018-11-23 02:32:58,922 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:32:58 BoogieIcfgContainer [2018-11-23 02:32:58,922 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 02:32:58,923 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:32:58,923 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:32:58,923 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:32:58,923 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:32:58" (3/4) ... [2018-11-23 02:32:58,929 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 02:32:58,929 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:32:58,930 INFO L168 Benchmark]: Toolchain (without parser) took 1384.31 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 958.0 MB in the beginning and 1.0 GB in the end (delta: -77.4 MB). Peak memory consumption was 73.6 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,931 INFO L168 Benchmark]: CDTParser took 0.14 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 02:32:58,932 INFO L168 Benchmark]: CACSL2BoogieTranslator took 267.00 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 958.0 MB in the beginning and 1.1 GB in the end (delta: -190.6 MB). Peak memory consumption was 34.8 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,932 INFO L168 Benchmark]: Boogie Procedure Inliner took 25.47 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,933 INFO L168 Benchmark]: Boogie Preprocessor took 40.44 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,933 INFO L168 Benchmark]: RCFGBuilder took 472.18 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: 50.5 MB). Peak memory consumption was 50.5 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,933 INFO L168 Benchmark]: TraceAbstraction took 569.12 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: 52.7 MB). Peak memory consumption was 52.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:32:58,934 INFO L168 Benchmark]: Witness Printer took 7.04 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:32:58,937 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.14 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 267.00 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 958.0 MB in the beginning and 1.1 GB in the end (delta: -190.6 MB). Peak memory consumption was 34.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 25.47 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 40.44 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.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 472.18 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: 50.5 MB). Peak memory consumption was 50.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 569.12 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: 52.7 MB). Peak memory consumption was 52.7 MB. Max. memory is 11.5 GB. * Witness Printer took 7.04 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. 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 6442450952 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450949 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450975 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450959 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450955 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 271]: 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 bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 270. 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)=6442450970, \old(one_atan)=6442450960, \old(pi)=6442450966, \old(pi_lo_atan2)=6442450958, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450951, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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] [L264] double x = __VERIFIER_nondet_double(); [L265] double y = 0.0; VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L267] COND TRUE x > 0.0 VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L268] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, 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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450967, 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=6442450964, y=0, 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)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450967, ly=6442450947, 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=6442450964, y=0, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=0, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450967, ly=6442450947, 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=6442450964, y=0, zero_atan2=0] [L268] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450972, aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450964, y=0, zero_atan2=0] [L268] double res = __ieee754_atan2(y, x); [L270] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450972, res == 0.0 && __signbit_double(res) == 0=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=0, zero_atan2=0] [L270] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L271] __VERIFIER_error() VAL [aT_atan={6442450953:0}, atanhi_atan={6442450956:0}, atanlo_atan={6442450946: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=6442450972, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=0, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 112 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 153 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=112occurred 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, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 42 NumberOfCodeBlocks, 42 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 19 ConstructedInterpolants, 0 QuantifiedInterpolants, 361 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 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 02:33:00,396 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:33:00,397 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:33:00,405 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:33:00,405 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:33:00,405 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:33:00,406 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:33:00,407 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:33:00,408 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:33:00,409 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:33:00,410 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:33:00,410 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:33:00,411 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:33:00,411 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:33:00,412 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:33:00,413 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:33:00,413 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:33:00,414 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:33:00,416 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:33:00,417 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:33:00,418 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:33:00,418 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:33:00,420 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:33:00,420 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:33:00,420 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:33:00,421 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:33:00,422 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:33:00,422 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:33:00,423 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:33:00,423 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:33:00,424 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:33:00,424 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:33:00,424 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:33:00,424 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:33:00,425 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:33:00,426 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:33:00,426 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 02:33:00,436 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:33:00,436 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:33:00,437 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:33:00,437 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 02:33:00,437 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:33:00,437 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:33:00,437 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 02:33:00,438 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:33:00,438 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:33:00,439 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:33:00,439 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:33:00,440 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:33:00,440 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:33:00,441 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 02:33:00,441 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:33:00,441 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 02:33:00,441 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 02:33:00,441 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_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer 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 -> Automizer 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 -> f7b03c010cc5bb74fc451f0f165676fac13dd665 [2018-11-23 02:33:00,471 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:33:00,479 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:33:00,481 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:33:00,482 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:33:00,482 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:33:00,483 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:33:00,519 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/677688e29/eb8a1fad760347b6bca536b673d73a16/FLAGd0f1a9899 [2018-11-23 02:33:00,854 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:33:00,855 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/sv-benchmarks/c/float-newlib/double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:33:00,859 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/677688e29/eb8a1fad760347b6bca536b673d73a16/FLAGd0f1a9899 [2018-11-23 02:33:01,277 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/data/677688e29/eb8a1fad760347b6bca536b673d73a16 [2018-11-23 02:33:01,279 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:33:01,281 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:33:01,281 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:33:01,281 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:33:01,283 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:33:01,284 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,286 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65b641ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01, skipping insertion in model container [2018-11-23 02:33:01,286 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,293 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:33:01,314 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:33:01,471 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:33:01,477 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:33:01,524 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:33:01,542 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:33:01,543 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01 WrapperNode [2018-11-23 02:33:01,543 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:33:01,543 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:33:01,543 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:33:01,544 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:33:01,549 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,561 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,567 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:33:01,568 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:33:01,568 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:33:01,568 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:33:01,620 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,620 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,624 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,624 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,642 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,650 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,653 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... [2018-11-23 02:33:01,656 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:33:01,657 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:33:01,657 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:33:01,657 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:33:01,658 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/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 02:33:01,690 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 02:33:01,690 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 02:33:01,690 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 02:33:01,690 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 02:33:01,691 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 02:33:01,691 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 02:33:01,691 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 02:33:01,691 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 02:33:01,691 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 02:33:01,691 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 02:33:01,691 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 02:33:01,692 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 02:33:01,692 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 02:33:01,692 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:33:01,692 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 02:33:01,692 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 02:33:01,692 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 02:33:01,692 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:33:01,693 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:33:01,693 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 02:33:01,693 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:33:01,819 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:02,534 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:02,703 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:02,782 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:02,803 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:03,520 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:03,533 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:03,591 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:08,210 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:19,151 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:33:19,700 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:33:19,700 INFO L280 CfgBuilder]: Removed 18 assue(true) statements. [2018-11-23 02:33:19,701 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:33:19 BoogieIcfgContainer [2018-11-23 02:33:19,701 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:33:19,702 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 02:33:19,702 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 02:33:19,705 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 02:33:19,705 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:33:01" (1/3) ... [2018-11-23 02:33:19,706 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cd9d925 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:33:19, skipping insertion in model container [2018-11-23 02:33:19,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:33:01" (2/3) ... [2018-11-23 02:33:19,706 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cd9d925 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:33:19, skipping insertion in model container [2018-11-23 02:33:19,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:33:19" (3/3) ... [2018-11-23 02:33:19,708 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0661b_true-unreach-call.c [2018-11-23 02:33:19,717 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 02:33:19,722 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 02:33:19,732 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 02:33:19,750 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 02:33:19,750 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 02:33:19,750 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 02:33:19,750 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 02:33:19,750 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 02:33:19,751 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 02:33:19,751 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 02:33:19,751 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 02:33:19,751 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 02:33:19,762 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states. [2018-11-23 02:33:19,765 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 02:33:19,765 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:33:19,766 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] [2018-11-23 02:33:19,767 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:33:19,770 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:33:19,770 INFO L82 PathProgramCache]: Analyzing trace with hash 913677384, now seen corresponding path program 1 times [2018-11-23 02:33:19,773 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:33:19,773 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/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 02:33:19,778 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:33:19,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:33:20,007 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:33:20,024 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 02:33:20,025 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:33:20,036 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:33:20,036 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 02:33:20,039 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 02:33:20,050 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 02:33:20,050 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:33:20,052 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 2 states. [2018-11-23 02:33:20,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:33:20,078 INFO L93 Difference]: Finished difference Result 215 states and 339 transitions. [2018-11-23 02:33:20,078 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 02:33:20,079 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 02:33:20,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:33:20,085 INFO L225 Difference]: With dead ends: 215 [2018-11-23 02:33:20,085 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 02:33:20,088 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 19 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 02:33:20,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 02:33:20,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-23 02:33:20,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 02:33:20,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 147 transitions. [2018-11-23 02:33:20,117 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 147 transitions. Word has length 20 [2018-11-23 02:33:20,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:33:20,117 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 147 transitions. [2018-11-23 02:33:20,117 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 02:33:20,117 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 147 transitions. [2018-11-23 02:33:20,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 02:33:20,118 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:33:20,118 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] [2018-11-23 02:33:20,118 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:33:20,118 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:33:20,118 INFO L82 PathProgramCache]: Analyzing trace with hash -1713483969, now seen corresponding path program 1 times [2018-11-23 02:33:20,119 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:33:20,119 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3624d903-482b-45a9-96bd-d3403de64ef3/bin-2019/uautomizer/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 02:33:20,122 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:33:20,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:33:20,552 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:33:20,649 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:20,650 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:20,651 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:20,652 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:20,656 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 76 [2018-11-23 02:33:20,859 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 02:33:20,860 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) 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.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) 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) [2018-11-23 02:33:20,862 INFO L168 Benchmark]: Toolchain (without parser) took 19581.83 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 949.2 MB in the beginning and 1.0 GB in the end (delta: -57.6 MB). Peak memory consumption was 83.9 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:20,863 INFO L168 Benchmark]: CDTParser took 0.13 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 02:33:20,863 INFO L168 Benchmark]: CACSL2BoogieTranslator took 261.80 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:20,863 INFO L168 Benchmark]: Boogie Procedure Inliner took 24.23 ms. Allocated memory is still 1.0 GB. Free memory is still 927.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:33:20,864 INFO L168 Benchmark]: Boogie Preprocessor took 88.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -201.6 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:20,864 INFO L168 Benchmark]: RCFGBuilder took 18044.33 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: 65.9 MB). Peak memory consumption was 65.9 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:20,865 INFO L168 Benchmark]: TraceAbstraction took 1159.39 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: 56.5 MB). Peak memory consumption was 56.5 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:20,867 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.13 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 261.80 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 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 24.23 ms. Allocated memory is still 1.0 GB. Free memory is still 927.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 88.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -201.6 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * RCFGBuilder took 18044.33 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: 65.9 MB). Peak memory consumption was 65.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1159.39 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: 56.5 MB). Peak memory consumption was 56.5 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...