./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0686b_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_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 f884ccf2da0c4c4f4df1be4e75875f554c398438 .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 f884ccf2da0c4c4f4df1be4e75875f554c398438 .............................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 04:35:39,072 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 04:35:39,074 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 04:35:39,080 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 04:35:39,080 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 04:35:39,081 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 04:35:39,082 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 04:35:39,083 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 04:35:39,084 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 04:35:39,085 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 04:35:39,085 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 04:35:39,086 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 04:35:39,086 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 04:35:39,087 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 04:35:39,087 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 04:35:39,088 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 04:35:39,088 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 04:35:39,089 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 04:35:39,090 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 04:35:39,091 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 04:35:39,092 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 04:35:39,092 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 04:35:39,093 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 04:35:39,094 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 04:35:39,094 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 04:35:39,094 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 04:35:39,095 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 04:35:39,095 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 04:35:39,096 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 04:35:39,096 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 04:35:39,097 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 04:35:39,097 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 04:35:39,097 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 04:35:39,097 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 04:35:39,098 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 04:35:39,098 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 04:35:39,099 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 04:35:39,106 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 04:35:39,106 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 04:35:39,106 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 04:35:39,107 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 04:35:39,107 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 04:35:39,107 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 04:35:39,108 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 04:35:39,108 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 04:35:39,109 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 04:35:39,109 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 04:35:39,109 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_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 -> f884ccf2da0c4c4f4df1be4e75875f554c398438 [2018-11-23 04:35:39,132 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 04:35:39,142 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 04:35:39,145 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 04:35:39,146 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 04:35:39,146 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 04:35:39,147 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:35:39,192 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/68a9f4282/00ef5a75d3ef47c9a8e8fb99e3a05e0c/FLAGc1a6a428d [2018-11-23 04:35:39,604 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 04:35:39,604 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:35:39,610 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/68a9f4282/00ef5a75d3ef47c9a8e8fb99e3a05e0c/FLAGc1a6a428d [2018-11-23 04:35:39,621 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/68a9f4282/00ef5a75d3ef47c9a8e8fb99e3a05e0c [2018-11-23 04:35:39,624 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 04:35:39,625 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 04:35:39,626 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 04:35:39,626 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 04:35:39,629 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 04:35:39,630 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,632 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@719ae5cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39, skipping insertion in model container [2018-11-23 04:35:39,632 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,641 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 04:35:39,664 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 04:35:39,810 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 04:35:39,814 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 04:35:39,847 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 04:35:39,912 INFO L195 MainTranslator]: Completed translation [2018-11-23 04:35:39,912 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39 WrapperNode [2018-11-23 04:35:39,912 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 04:35:39,913 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 04:35:39,913 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 04:35:39,913 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 04:35:39,920 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,930 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,935 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 04:35:39,935 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 04:35:39,935 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 04:35:39,935 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 04:35:39,941 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,941 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,944 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,944 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,958 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,963 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,965 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... [2018-11-23 04:35:39,967 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 04:35:39,967 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 04:35:39,967 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 04:35:39,967 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 04:35:39,968 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 04:35:39,999 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 04:35:39,999 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 04:35:39,999 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 04:35:40,000 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 04:35:40,000 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 04:35:40,000 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 04:35:40,000 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 04:35:40,000 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 04:35:40,001 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 04:35:40,001 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 04:35:40,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 04:35:40,001 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 04:35:40,414 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 04:35:40,414 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 04:35:40,414 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:35:40 BoogieIcfgContainer [2018-11-23 04:35:40,414 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 04:35:40,415 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 04:35:40,415 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 04:35:40,417 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 04:35:40,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 04:35:39" (1/3) ... [2018-11-23 04:35:40,417 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74ad5b38 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:35:40, skipping insertion in model container [2018-11-23 04:35:40,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:39" (2/3) ... [2018-11-23 04:35:40,418 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74ad5b38 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:35:40, skipping insertion in model container [2018-11-23 04:35:40,418 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:35:40" (3/3) ... [2018-11-23 04:35:40,419 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:35:40,425 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 04:35:40,429 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 04:35:40,438 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 04:35:40,456 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 04:35:40,456 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 04:35:40,456 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 04:35:40,457 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 04:35:40,457 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 04:35:40,457 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 04:35:40,457 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 04:35:40,457 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 04:35:40,457 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 04:35:40,468 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2018-11-23 04:35:40,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 04:35:40,473 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 04:35:40,474 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 04:35:40,476 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 04:35:40,480 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 04:35:40,481 INFO L82 PathProgramCache]: Analyzing trace with hash 947216650, now seen corresponding path program 1 times [2018-11-23 04:35:40,482 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 04:35:40,483 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 04:35:40,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 04:35:40,514 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 04:35:40,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 04:35:40,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 04:35:40,591 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 04:35:40,592 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 04:35:40,593 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 04:35:40,595 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 04:35:40,602 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 04:35:40,602 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 04:35:40,604 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 2 states. [2018-11-23 04:35:40,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 04:35:40,623 INFO L93 Difference]: Finished difference Result 194 states and 310 transitions. [2018-11-23 04:35:40,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 04:35:40,624 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 04:35:40,624 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 04:35:40,630 INFO L225 Difference]: With dead ends: 194 [2018-11-23 04:35:40,630 INFO L226 Difference]: Without dead ends: 97 [2018-11-23 04:35:40,633 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 04:35:40,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-23 04:35:40,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2018-11-23 04:35:40,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 04:35:40,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 136 transitions. [2018-11-23 04:35:40,663 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 136 transitions. Word has length 18 [2018-11-23 04:35:40,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 04:35:40,663 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 136 transitions. [2018-11-23 04:35:40,663 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 04:35:40,663 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 136 transitions. [2018-11-23 04:35:40,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 04:35:40,664 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 04:35:40,664 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 04:35:40,664 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 04:35:40,664 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 04:35:40,664 INFO L82 PathProgramCache]: Analyzing trace with hash -246249165, now seen corresponding path program 1 times [2018-11-23 04:35:40,665 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 04:35:40,665 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 04:35:40,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 04:35:40,665 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 04:35:40,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 04:35:40,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 04:35:40,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 04:35:40,762 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|=6442450962, |old(#NULL.base)|=6442450969, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450954, |~#aT_atan~0.offset|=6442450960, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=6442450965, |~#atanlo_atan~0.base|=6442450951, |~#atanlo_atan~0.offset|=6442450975, ~huge_atan~0=6442450971.0, ~one_atan~0=6442450961.0, ~pi_lo_atan2~0=6442450959.0, ~pi_o_2~0=6442450945.0, ~pi_o_4~0=6442450963.0, ~pi~0=6442450967.0, ~tiny_atan2~0=6442450974.0, ~zero_atan2~0=6442450953.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)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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 #330#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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~ret49 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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~union32;havoc #t~mem31;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem33;havoc #t~union34;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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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 #320#return; VAL [main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret48|=6442450949.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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~ret48;havoc #t~ret48; VAL [main_~res~0=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)); VAL [main_~res~0=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#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=6442450962, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450954, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450951, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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~ret49 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255-L258] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450969, #NULL.offset=6442450962, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450954, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450951, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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~ret49 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255-L258] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~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=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] ----- [2018-11-23 04:35:40,871 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450951 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 04:35:40,872 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450975 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 04:35:40,872 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 04:35:40,873 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450954 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 04:35:40,873 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 04:35:40,873 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450965 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=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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] [L253] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~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.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_4~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#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.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~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)=6442450971, \old(one_atan)=6442450961, \old(pi)=6442450967, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450953, aT_atan={6442450955:0}, atanhi_atan={6442450957: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] [L250] double x = 1.0 / 0.0; [L251] double y = -1.0 / 0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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] [L253] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957: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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, lx=6442450968, 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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L253] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450949, aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450966, y=6442450964, zero_atan2=0] [L253] double res = __ieee754_atan2(y, x); [L255] COND TRUE res != -pi_o_4 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] [L256] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] ----- [2018-11-23 04:35:40,917 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 04:35:40 BoogieIcfgContainer [2018-11-23 04:35:40,918 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 04:35:40,918 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 04:35:40,918 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 04:35:40,918 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 04:35:40,919 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:35:40" (3/4) ... [2018-11-23 04:35:40,923 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 04:35:40,923 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 04:35:40,924 INFO L168 Benchmark]: Toolchain (without parser) took 1299.37 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 959.2 MB in the beginning and 1.0 GB in the end (delta: -58.9 MB). Peak memory consumption was 61.2 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,925 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 04:35:40,925 INFO L168 Benchmark]: CACSL2BoogieTranslator took 286.64 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -160.3 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,927 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.29 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,927 INFO L168 Benchmark]: Boogie Preprocessor took 31.72 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,928 INFO L168 Benchmark]: RCFGBuilder took 447.00 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 45.0 MB). Peak memory consumption was 45.0 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,928 INFO L168 Benchmark]: TraceAbstraction took 502.93 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. [2018-11-23 04:35:40,929 INFO L168 Benchmark]: Witness Printer took 5.14 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 04:35:40,931 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.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 286.64 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -160.3 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 22.29 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 31.72 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 447.00 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 45.0 MB). Peak memory consumption was 45.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 502.93 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. * Witness Printer took 5.14 ms. Allocated memory is still 1.1 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 6442450951 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 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450954 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450960 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# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 256]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 52, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryDOUBLEComparisonOperation at line 255. 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)=6442450971, \old(one_atan)=6442450961, \old(pi)=6442450967, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450953, aT_atan={6442450955:0}, atanhi_atan={6442450957: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] [L250] double x = 1.0 / 0.0; [L251] double y = -1.0 / 0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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] [L253] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957: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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, lx=6442450968, 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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L253] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450949, aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450966, y=6442450964, zero_atan2=0] [L253] double res = __ieee754_atan2(y, x); [L255] COND TRUE res != -pi_o_4 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] [L256] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 101 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 140 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=101occurred 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, 38 NumberOfCodeBlocks, 38 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 17 ConstructedInterpolants, 0 QuantifiedInterpolants, 289 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 04:35:42,387 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 04:35:42,388 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 04:35:42,396 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 04:35:42,397 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 04:35:42,397 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 04:35:42,398 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 04:35:42,399 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 04:35:42,400 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 04:35:42,401 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 04:35:42,401 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 04:35:42,402 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 04:35:42,402 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 04:35:42,403 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 04:35:42,404 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 04:35:42,404 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 04:35:42,405 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 04:35:42,406 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 04:35:42,407 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 04:35:42,408 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 04:35:42,409 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 04:35:42,409 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 04:35:42,411 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 04:35:42,411 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 04:35:42,411 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 04:35:42,412 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 04:35:42,413 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 04:35:42,413 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 04:35:42,414 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 04:35:42,414 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 04:35:42,414 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 04:35:42,415 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 04:35:42,415 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 04:35:42,415 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 04:35:42,416 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 04:35:42,416 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 04:35:42,416 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 04:35:42,426 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 04:35:42,426 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 04:35:42,427 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 04:35:42,427 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 04:35:42,428 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 04:35:42,428 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 04:35:42,428 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 04:35:42,428 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 04:35:42,428 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 04:35:42,428 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 04:35:42,428 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 04:35:42,429 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 04:35:42,430 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 04:35:42,430 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 04:35:42,430 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 04:35:42,430 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 04:35:42,430 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 04:35:42,430 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 04:35:42,430 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 04:35:42,431 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 04:35:42,431 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 04:35:42,431 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 04:35:42,431 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 04:35:42,431 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 04:35:42,431 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_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 -> f884ccf2da0c4c4f4df1be4e75875f554c398438 [2018-11-23 04:35:42,460 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 04:35:42,469 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 04:35:42,472 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 04:35:42,473 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 04:35:42,474 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 04:35:42,474 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:35:42,520 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/e5461a5e1/5d4629a3ab994ac3a864b9cf85c4aadb/FLAGfbd2eb942 [2018-11-23 04:35:42,858 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 04:35:42,859 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/sv-benchmarks/c/float-newlib/double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:35:42,864 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/e5461a5e1/5d4629a3ab994ac3a864b9cf85c4aadb/FLAGfbd2eb942 [2018-11-23 04:35:43,287 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/bin-2019/uautomizer/data/e5461a5e1/5d4629a3ab994ac3a864b9cf85c4aadb [2018-11-23 04:35:43,289 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 04:35:43,290 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 04:35:43,290 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 04:35:43,290 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 04:35:43,299 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 04:35:43,300 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,302 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6919f42f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43, skipping insertion in model container [2018-11-23 04:35:43,302 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,311 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 04:35:43,332 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 04:35:43,513 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 04:35:43,520 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 04:35:43,567 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 04:35:43,592 INFO L195 MainTranslator]: Completed translation [2018-11-23 04:35:43,592 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43 WrapperNode [2018-11-23 04:35:43,593 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 04:35:43,594 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 04:35:43,594 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 04:35:43,594 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 04:35:43,601 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,613 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,675 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 04:35:43,676 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 04:35:43,676 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 04:35:43,676 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 04:35:43,685 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,685 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,688 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,689 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,703 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,709 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,712 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... [2018-11-23 04:35:43,716 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 04:35:43,716 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 04:35:43,716 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 04:35:43,716 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 04:35:43,717 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 04:35:43,748 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 04:35:43,748 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 04:35:43,749 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 04:35:43,749 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 04:35:43,749 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 04:35:43,749 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 04:35:43,749 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 04:35:43,749 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 04:35:43,749 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 04:35:43,749 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 04:35:43,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 04:35:43,750 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 04:35:43,750 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 04:35:43,750 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 04:35:43,750 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 04:35:43,750 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 04:35:43,750 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 04:35:43,751 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 04:35:43,751 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 04:35:44,006 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:44,222 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:44,297 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:44,327 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:45,662 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:45,672 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:45,722 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:35:50,983 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:36:02,203 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 04:36:02,209 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 04:36:02,209 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 04:36:02,210 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:36:02 BoogieIcfgContainer [2018-11-23 04:36:02,210 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 04:36:02,211 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 04:36:02,211 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 04:36:02,214 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 04:36:02,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 04:35:43" (1/3) ... [2018-11-23 04:36:02,215 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6659df5c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:36:02, skipping insertion in model container [2018-11-23 04:36:02,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:35:43" (2/3) ... [2018-11-23 04:36:02,215 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6659df5c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:36:02, skipping insertion in model container [2018-11-23 04:36:02,216 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:36:02" (3/3) ... [2018-11-23 04:36:02,217 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0686b_true-unreach-call.c [2018-11-23 04:36:02,224 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 04:36:02,231 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 04:36:02,242 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 04:36:02,261 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 04:36:02,261 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 04:36:02,261 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 04:36:02,262 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 04:36:02,262 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 04:36:02,262 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 04:36:02,262 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 04:36:02,262 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 04:36:02,262 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 04:36:02,273 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2018-11-23 04:36:02,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 04:36:02,277 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 04:36:02,277 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 04:36:02,279 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 04:36:02,282 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 04:36:02,282 INFO L82 PathProgramCache]: Analyzing trace with hash 947216650, now seen corresponding path program 1 times [2018-11-23 04:36:02,285 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 04:36:02,285 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 04:36:02,289 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 04:36:02,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 04:36:02,523 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 04:36:02,535 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 04:36:02,536 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 04:36:02,547 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 04:36:02,548 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 04:36:02,550 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 04:36:02,559 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 04:36:02,560 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 04:36:02,561 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 2 states. [2018-11-23 04:36:02,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 04:36:02,583 INFO L93 Difference]: Finished difference Result 194 states and 310 transitions. [2018-11-23 04:36:02,583 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 04:36:02,584 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 04:36:02,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 04:36:02,591 INFO L225 Difference]: With dead ends: 194 [2018-11-23 04:36:02,591 INFO L226 Difference]: Without dead ends: 97 [2018-11-23 04:36:02,593 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 17 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 04:36:02,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-23 04:36:02,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2018-11-23 04:36:02,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 04:36:02,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 136 transitions. [2018-11-23 04:36:02,627 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 136 transitions. Word has length 18 [2018-11-23 04:36:02,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 04:36:02,628 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 136 transitions. [2018-11-23 04:36:02,628 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 04:36:02,628 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 136 transitions. [2018-11-23 04:36:02,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 04:36:02,628 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 04:36:02,629 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 04:36:02,629 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 04:36:02,629 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 04:36:02,629 INFO L82 PathProgramCache]: Analyzing trace with hash -246249165, now seen corresponding path program 1 times [2018-11-23 04:36:02,629 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 04:36:02,630 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_a8696fef-aeab-4e52-9e08-f6270fb45b32/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 04:36:02,632 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 04:36:03,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 04:36:03,059 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 04:36:03,157 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 04:36:03,158 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 04:36:03,159 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 04:36:03,160 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 04:36:03,166 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 58 treesize of output 85 [2018-11-23 04:36:03,280 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 28 [2018-11-23 04:36:03,481 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 04:36:03,481 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 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) 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 04:36:03,484 INFO L168 Benchmark]: Toolchain (without parser) took 20194.61 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 949.7 MB in the beginning and 998.4 MB in the end (delta: -48.6 MB). Peak memory consumption was 86.6 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,484 INFO L168 Benchmark]: CDTParser took 0.16 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 04:36:03,485 INFO L168 Benchmark]: CACSL2BoogieTranslator took 302.65 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,485 INFO L168 Benchmark]: Boogie Procedure Inliner took 81.84 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -201.2 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,486 INFO L168 Benchmark]: Boogie Preprocessor took 40.40 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,486 INFO L168 Benchmark]: RCFGBuilder took 18493.72 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: 60.0 MB). Peak memory consumption was 60.0 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,487 INFO L168 Benchmark]: TraceAbstraction took 1272.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 998.4 MB in the end (delta: 57.5 MB). Peak memory consumption was 57.5 MB. Max. memory is 11.5 GB. [2018-11-23 04:36:03,490 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.16 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 302.65 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 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 81.84 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -201.2 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 40.40 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * RCFGBuilder took 18493.72 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: 60.0 MB). Peak memory consumption was 60.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1272.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 998.4 MB in the end (delta: 57.5 MB). Peak memory consumption was 57.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 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...