./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_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_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 a90ab4b5fd896d7fe8c91ee95d37e83b559389ba ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 a90ab4b5fd896d7fe8c91ee95d37e83b559389ba .................................................................................................................................................................................................................................................................................................................................................................................... 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_59)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 07:56:24,416 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:56:24,417 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:56:24,425 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:56:24,425 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:56:24,426 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:56:24,426 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:56:24,428 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:56:24,429 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:56:24,429 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:56:24,430 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:56:24,430 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:56:24,431 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:56:24,432 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:56:24,432 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:56:24,433 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:56:24,433 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:56:24,435 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:56:24,436 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:56:24,437 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:56:24,438 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:56:24,439 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:56:24,440 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:56:24,440 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:56:24,440 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:56:24,441 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:56:24,441 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:56:24,442 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:56:24,442 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:56:24,443 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:56:24,443 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:56:24,444 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:56:24,444 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:56:24,444 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:56:24,445 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:56:24,445 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:56:24,446 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 07:56:24,453 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:56:24,453 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:56:24,453 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:56:24,454 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 07:56:24,454 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:56:24,454 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:56:24,454 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 07:56:24,454 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:56:24,455 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:56:24,456 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 07:56:24,456 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:56:24,457 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:56:24,457 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 07:56:24,458 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_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 -> a90ab4b5fd896d7fe8c91ee95d37e83b559389ba [2018-11-23 07:56:24,481 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:56:24,490 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:56:24,493 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:56:24,494 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:56:24,494 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:56:24,495 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:24,530 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/3cd086748/007205d861f044969a52f6539663f3c5/FLAGa7dc7a072 [2018-11-23 07:56:24,942 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:56:24,943 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:24,948 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/3cd086748/007205d861f044969a52f6539663f3c5/FLAGa7dc7a072 [2018-11-23 07:56:24,956 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/3cd086748/007205d861f044969a52f6539663f3c5 [2018-11-23 07:56:24,958 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:56:24,959 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:56:24,960 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:56:24,960 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:56:24,963 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:56:24,963 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:56:24" (1/1) ... [2018-11-23 07:56:24,965 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5dd2737e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:24, skipping insertion in model container [2018-11-23 07:56:24,965 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:56:24" (1/1) ... [2018-11-23 07:56:24,971 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:56:24,992 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:56:25,130 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:56:25,134 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:56:25,173 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:56:25,233 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:56:25,233 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25 WrapperNode [2018-11-23 07:56:25,233 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:56:25,233 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:56:25,233 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:56:25,234 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:56:25,241 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,253 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,260 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:56:25,260 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:56:25,260 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:56:25,260 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:56:25,268 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,268 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,273 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,273 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,293 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,302 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,304 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... [2018-11-23 07:56:25,307 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:56:25,307 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:56:25,307 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:56:25,308 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:56:25,308 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 07:56:25,357 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 07:56:25,357 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 07:56:25,357 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 07:56:25,357 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 07:56:25,357 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 07:56:25,357 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 07:56:25,357 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 07:56:25,358 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 07:56:25,358 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 07:56:25,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:56:25,358 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 07:56:25,359 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 07:56:25,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:56:25,359 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:56:25,359 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 07:56:25,359 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 07:56:25,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:56:25,915 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:56:25,915 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 07:56:25,916 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:56:25 BoogieIcfgContainer [2018-11-23 07:56:25,916 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:56:25,916 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 07:56:25,917 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 07:56:25,919 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 07:56:25,919 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 07:56:24" (1/3) ... [2018-11-23 07:56:25,919 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@711e295d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:56:25, skipping insertion in model container [2018-11-23 07:56:25,919 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:25" (2/3) ... [2018-11-23 07:56:25,920 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@711e295d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:56:25, skipping insertion in model container [2018-11-23 07:56:25,920 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:56:25" (3/3) ... [2018-11-23 07:56:25,921 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:25,928 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 07:56:25,933 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 07:56:25,943 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 07:56:25,965 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:56:25,965 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 07:56:25,965 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 07:56:25,965 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 07:56:25,965 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:56:25,966 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:56:25,966 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 07:56:25,966 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:56:25,966 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 07:56:25,979 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states. [2018-11-23 07:56:25,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 07:56:25,985 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:25,986 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:25,988 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:25,991 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:25,991 INFO L82 PathProgramCache]: Analyzing trace with hash -1752602122, now seen corresponding path program 1 times [2018-11-23 07:56:25,992 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:56:25,993 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:56:26,021 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,021 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:26,021 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:56:26,107 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:56:26,109 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:56:26,109 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:56:26,112 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 07:56:26,119 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 07:56:26,119 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:56:26,121 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 2 states. [2018-11-23 07:56:26,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:56:26,147 INFO L93 Difference]: Finished difference Result 232 states and 362 transitions. [2018-11-23 07:56:26,147 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 07:56:26,149 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 27 [2018-11-23 07:56:26,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:56:26,156 INFO L225 Difference]: With dead ends: 232 [2018-11-23 07:56:26,157 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 07:56:26,160 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 07:56:26,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 07:56:26,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 07:56:26,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 07:56:26,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 155 transitions. [2018-11-23 07:56:26,192 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 155 transitions. Word has length 27 [2018-11-23 07:56:26,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:56:26,192 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 155 transitions. [2018-11-23 07:56:26,192 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 07:56:26,192 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 155 transitions. [2018-11-23 07:56:26,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 07:56:26,193 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:26,193 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:26,194 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:26,194 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:26,194 INFO L82 PathProgramCache]: Analyzing trace with hash -1500670579, now seen corresponding path program 1 times [2018-11-23 07:56:26,194 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:56:26,194 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:56:26,195 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,195 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:26,196 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:56:26,267 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:56:26,267 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:56:26,268 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:56:26,269 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 07:56:26,269 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:56:26,269 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:56:26,269 INFO L87 Difference]: Start difference. First operand 115 states and 155 transitions. Second operand 3 states. [2018-11-23 07:56:26,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:56:26,291 INFO L93 Difference]: Finished difference Result 207 states and 286 transitions. [2018-11-23 07:56:26,292 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:56:26,292 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 07:56:26,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:56:26,294 INFO L225 Difference]: With dead ends: 207 [2018-11-23 07:56:26,294 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 07:56:26,295 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:56:26,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 07:56:26,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 07:56:26,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 07:56:26,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 154 transitions. [2018-11-23 07:56:26,305 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 154 transitions. Word has length 30 [2018-11-23 07:56:26,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:56:26,305 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 154 transitions. [2018-11-23 07:56:26,305 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 07:56:26,305 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 154 transitions. [2018-11-23 07:56:26,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 07:56:26,306 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:26,306 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:26,306 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:26,306 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:26,307 INFO L82 PathProgramCache]: Analyzing trace with hash 1682265256, now seen corresponding path program 1 times [2018-11-23 07:56:26,307 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:56:26,307 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:56:26,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,308 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:26,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:56:26,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:56:26,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:56:26,514 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=10737418273, |#NULL.offset|=10737418265, |old(#NULL.base)|=10737418273, |old(#NULL.offset)|=10737418265, |old(~#aT_atan~0.base)|=10737418254, |old(~#aT_atan~0.offset)|=10737418262, |old(~#atanhi_atan~0.base)|=10737418256, |old(~#atanhi_atan~0.offset)|=10737418269, |old(~#atanlo_atan~0.base)|=10737418248, |old(~#atanlo_atan~0.offset)|=10737418277, |old(~huge_atan~0)|=10737418274.0, |old(~one_atan~0)|=10737418263.0, |old(~pi_lo_atan2~0)|=10737418260.0, |old(~pi_o_2~0)|=10737418243.0, |old(~pi_o_4~0)|=10737418268.0, |old(~pi~0)|=10737418271.0, |old(~tiny_atan2~0)|=10737418276.0, |old(~zero_atan2~0)|=10737418253.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=10737418262, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=10737418269, |~#atanlo_atan~0.base|=10737418248, |~#atanlo_atan~0.offset|=10737418277, ~huge_atan~0=10737418274.0, ~one_atan~0=10737418263.0, ~pi_lo_atan2~0=10737418260.0, ~pi_o_2~0=10737418243.0, ~pi_o_4~0=10737418268.0, ~pi~0=10737418271.0, ~tiny_atan2~0=10737418276.0, ~zero_atan2~0=10737418253.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)|=10737418273, |old(#NULL.offset)|=10737418265, |old(~#aT_atan~0.base)|=10737418254, |old(~#aT_atan~0.offset)|=10737418262, |old(~#atanhi_atan~0.base)|=10737418256, |old(~#atanhi_atan~0.offset)|=10737418269, |old(~#atanlo_atan~0.base)|=10737418248, |old(~#atanlo_atan~0.offset)|=10737418277, |old(~huge_atan~0)|=10737418274.0, |old(~one_atan~0)|=10737418263.0, |old(~pi_lo_atan2~0)|=10737418260.0, |old(~pi_o_2~0)|=10737418243.0, |old(~pi_o_4~0)|=10737418268.0, |old(~pi~0)|=10737418271.0, |old(~tiny_atan2~0)|=10737418276.0, |old(~zero_atan2~0)|=10737418253.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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)|=10737418273, |old(#NULL.offset)|=10737418265, |old(~#aT_atan~0.base)|=10737418254, |old(~#aT_atan~0.offset)|=10737418262, |old(~#atanhi_atan~0.base)|=10737418256, |old(~#atanhi_atan~0.offset)|=10737418269, |old(~#atanlo_atan~0.base)|=10737418248, |old(~#atanlo_atan~0.offset)|=10737418277, |old(~huge_atan~0)|=10737418274.0, |old(~one_atan~0)|=10737418263.0, |old(~pi_lo_atan2~0)|=10737418260.0, |old(~pi_o_2~0)|=10737418243.0, |old(~pi_o_4~0)|=10737418268.0, |old(~pi~0)|=10737418271.0, |old(~tiny_atan2~0)|=10737418276.0, |old(~zero_atan2~0)|=10737418253.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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 #381#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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~ret59 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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(~someUnaryDOUBLEoperation(1.0), 0.0);~y~0 := #t~nondet54;havoc #t~nondet54; VAL [main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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~ret55 := isinf_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~2;havoc ~lx~1; VAL [isinf_double_~x=10737418264.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8);call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4);~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~union49;havoc #t~mem48;call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4);~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~mem50;havoc #t~union51;call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset);havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [isinf_double_~hx~2=(- 2147483646), isinf_double_~lx~1=2147483647, isinf_double_~x=10737418264.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isinf_double_~hx~2=(- 2147483646), isinf_double_~lx~1=2147483647, isinf_double_~x=10737418264.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647);~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);~hx~2 := 2146435072 - ~hx~2;#res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=2147483647, isinf_double_~x=10737418264.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=2147483647, isinf_double_~x=10737418264.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418264.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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 #367#return; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=2, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647;#t~short57 := 0 != #t~ret55; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=2, |main_#t~short57|=true, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short57; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=2, |main_#t~short57|=true, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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~ret56 := isfinite_double(~y~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~3; VAL [isfinite_double_~x=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8);call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4);~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8);havoc #t~union53;havoc #t~mem52;call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset);havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [isfinite_double_~hx~3=2147483646, isfinite_double_~x=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isfinite_double_~hx~3=2147483646, isfinite_double_~x=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isfinite_double_~hx~3=2147483646, isfinite_double_~x=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |isfinite_double_#res|=3, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isfinite_double_~hx~3=2147483646, isfinite_double_~x=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418275.0, |isfinite_double_#res|=3, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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 #369#return; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=2, |main_#t~ret56|=3, |main_#t~short57|=true, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647;#t~short57 := 0 != #t~ret56; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=2, |main_#t~ret56|=3, |main_#t~short57|=true, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0);havoc #t~ret56;havoc #t~short57;havoc #t~ret55; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~hy~0=(- 2147483646), __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~ly~0=10737418278, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~hy~0=(- 2147483646), __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~ly~0=10737418278, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~hy~0=(- 2147483646), __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~ly~0=10737418278, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~hy~0=(- 2147483646), __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~ly~0=10737418278, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=2147483647, __ieee754_atan2_~hy~0=(- 2147483646), __ieee754_atan2_~lx~0=10737418279, __ieee754_atan2_~ly~0=10737418278, __ieee754_atan2_~x=10737418264.0, __ieee754_atan2_~y=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418264.0, |__ieee754_atan2_#in~y|=10737418275.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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 #371#return; VAL [main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret58|=10737418261.0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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~ret58;havoc #t~ret58; VAL [main_~res~0=10737418261.0, main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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, ~pi~0); VAL [main_~res~0=10737418261.0, main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=10737418261.0, main_~x~0=10737418264.0, main_~y~0=10737418275.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418255, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418257, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418244, |~#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=10737418273, #NULL.offset=10737418265, old(#NULL.base)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=10737418262, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=10737418269, ~#atanlo_atan~0.base=10737418248, ~#atanlo_atan~0.offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume #t~short57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, #res=3, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, #res=3, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279-L288] assume #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284-L287] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418273, #NULL.offset=10737418265, old(#NULL.base)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=10737418262, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=10737418269, ~#atanlo_atan~0.base=10737418248, ~#atanlo_atan~0.offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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)=10737418273, old(#NULL.offset)=10737418265, old(~#aT_atan~0.base)=10737418254, old(~#aT_atan~0.offset)=10737418262, old(~#atanhi_atan~0.base)=10737418256, old(~#atanhi_atan~0.offset)=10737418269, old(~#atanlo_atan~0.base)=10737418248, old(~#atanlo_atan~0.offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418264E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume #t~short57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, #res=3, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418275E10, #NULL.base=0, #NULL.offset=0, #res=3, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279-L288] assume #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284-L287] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418255, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418257, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418244, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418273, #NULL!offset=10737418265, old(#NULL!base)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=10737418262, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=10737418269, ~#atanlo_atan~0!base=10737418248, ~#atanlo_atan~0!offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, #res=3, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418273, #NULL!offset=10737418265, old(#NULL!base)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=10737418262, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=10737418269, ~#atanlo_atan~0!base=10737418248, ~#atanlo_atan~0!offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, #res=3, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418273, #NULL!offset=10737418265, old(#NULL!base)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=10737418262, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=10737418269, ~#atanlo_atan~0!base=10737418248, ~#atanlo_atan~0!offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, #res=3, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] ----- [2018-11-23 07:56:26,810 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418256 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 07:56:26,811 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418248 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 07:56:26,811 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418254 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 07:56:26,811 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418277 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 07:56:26,812 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418269 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 07:56:26,812 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418262 could not be translated for associated CType ARRAY#_11_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418273, #NULL!offset=10737418265, old(#NULL!base)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=10737418262, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=10737418269, ~#atanlo_atan~0!base=10737418248, ~#atanlo_atan~0!offset=10737418277, ~huge_atan~0=1.0737418274E10, ~one_atan~0=1.0737418263E10, ~pi_lo_atan2~0=1.073741826E10, ~pi_o_2~0=1.0737418243E10, ~pi_o_4~0=1.0737418268E10, ~pi~0=1.0737418271E10, ~tiny_atan2~0=1.0737418276E10, ~zero_atan2~0=1.0737418253E10] [?] #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)=10737418273, old(#NULL!offset)=10737418265, old(~#aT_atan~0!base)=10737418254, old(~#aT_atan~0!offset)=10737418262, old(~#atanhi_atan~0!base)=10737418256, old(~#atanhi_atan~0!offset)=10737418269, old(~#atanlo_atan~0!base)=10737418248, old(~#atanlo_atan~0!offset)=10737418277, old(~huge_atan~0)=1.0737418274E10, old(~one_atan~0)=1.0737418263E10, old(~pi_lo_atan2~0)=1.073741826E10, old(~pi_o_2~0)=1.0737418243E10, old(~pi_o_4~0)=1.0737418268E10, old(~pi~0)=1.0737418271E10, old(~tiny_atan2~0)=1.0737418276E10, old(~zero_atan2~0)=1.0737418253E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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] [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret55 := isinf_double(~x~0); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483646, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418264E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=2147483647, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret55 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] CALL call #t~ret56 := isfinite_double(~y~0); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.0737418275E10, #NULL!base=0, #NULL!offset=0, #res=3, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483646, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418275E10, ~zero_atan2~0=0.0] [L279] RET call #t~ret56 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=2, #t~ret56=3, #t~short57=true, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~lx~0=10737418279, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~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=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.0737418264E10, #in~y=1.0737418275E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=2147483647, ~hy~0=-2147483646, ~lx~0=10737418279, ~ly~0=10737418278, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.0737418264E10, ~y=1.0737418275E10, ~zero_atan2~0=0.0] [L281] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.0737418261E10, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~zero_atan2~0=0.0] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418255, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418257, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418244, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.0737418261E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418264E10, ~y~0=1.0737418275E10, ~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)=10737418274, \old(one_atan)=10737418263, \old(pi)=10737418271, \old(pi_lo_atan2)=10737418260, \old(pi_o_2)=10737418243, \old(pi_o_4)=10737418268, \old(tiny_atan2)=10737418276, \old(zero_atan2)=10737418253, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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] [L276] double x = -1.0 / 0.0; [L277] double y = __VERIFIER_nondet_double(); [L279] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418264, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=10737418264, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=10737418264, \result=2, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=2147483647, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, zero_atan2=0] [L279] RET, EXPR isinf_double(x) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418275, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=10737418275, \result=3, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483646, 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=10737418275, zero_atan2=0] [L279] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=3, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=3, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L281] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, y=10737418275, 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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, lx=10737418279, 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=10737418264, y=10737418275, 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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, hy=-2147483646, lx=10737418279, ly=10737418278, 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=10737418264, y=10737418275, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, hy=-2147483646, lx=10737418279, ly=10737418278, 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=10737418264, y=10737418275, zero_atan2=0] [L281] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418261, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, y=10737418275, zero_atan2=0] [L281] double res = __ieee754_atan2(y, x); [L284] COND TRUE res != pi VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418261, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L285] __VERIFIER_error() VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418261, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] ----- [2018-11-23 07:56:26,928 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 07:56:26 BoogieIcfgContainer [2018-11-23 07:56:26,928 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 07:56:26,929 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:56:26,929 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:56:26,929 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:56:26,929 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:56:25" (3/4) ... [2018-11-23 07:56:26,933 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 07:56:26,936 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:56:26,937 INFO L168 Benchmark]: Toolchain (without parser) took 1978.38 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 125.3 MB). Free memory was 960.7 MB in the beginning and 955.3 MB in the end (delta: 5.4 MB). Peak memory consumption was 130.7 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:26,938 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 982.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:56:26,939 INFO L168 Benchmark]: CACSL2BoogieTranslator took 273.66 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 125.3 MB). Free memory was 960.7 MB in the beginning and 1.1 GB in the end (delta: -154.1 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:26,939 INFO L168 Benchmark]: Boogie Procedure Inliner took 26.41 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:56:26,939 INFO L168 Benchmark]: Boogie Preprocessor took 47.02 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:56:26,940 INFO L168 Benchmark]: RCFGBuilder took 608.56 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 59.7 MB). Peak memory consumption was 59.7 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:26,940 INFO L168 Benchmark]: TraceAbstraction took 1011.84 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 955.3 MB in the end (delta: 99.8 MB). Peak memory consumption was 99.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:26,941 INFO L168 Benchmark]: Witness Printer took 7.61 ms. Allocated memory is still 1.2 GB. Free memory is still 955.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:56:26,943 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.10 ms. Allocated memory is still 1.0 GB. Free memory is still 982.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 273.66 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 125.3 MB). Free memory was 960.7 MB in the beginning and 1.1 GB in the end (delta: -154.1 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 26.41 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 47.02 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 608.56 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 59.7 MB). Peak memory consumption was 59.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1011.84 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 955.3 MB in the end (delta: 99.8 MB). Peak memory consumption was 99.8 MB. Max. memory is 11.5 GB. * Witness Printer took 7.61 ms. Allocated memory is still 1.2 GB. Free memory is still 955.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418256 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418248 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418254 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418277 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418269 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418262 could not be translated for associated CType ARRAY#_11_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 285]: 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 284. 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)=10737418274, \old(one_atan)=10737418263, \old(pi)=10737418271, \old(pi_lo_atan2)=10737418260, \old(pi_o_2)=10737418243, \old(pi_o_4)=10737418268, \old(tiny_atan2)=10737418276, \old(zero_atan2)=10737418253, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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] [L276] double x = -1.0 / 0.0; [L277] double y = __VERIFIER_nondet_double(); [L279] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418264, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=10737418264, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=10737418264, \result=2, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=2147483647, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, zero_atan2=0] [L279] RET, EXPR isinf_double(x) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418275, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=10737418275, \result=3, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483646, 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=10737418275, zero_atan2=0] [L279] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=3, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=3, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L279] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L281] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, y=10737418275, 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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, lx=10737418279, 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=10737418264, y=10737418275, 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)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, hy=-2147483646, lx=10737418279, ly=10737418278, 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=10737418264, y=10737418275, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418264, \old(y)=10737418275, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, hy=-2147483646, lx=10737418279, ly=10737418278, 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=10737418264, y=10737418275, zero_atan2=0] [L281] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418261, aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418264, y=10737418275, zero_atan2=0] [L281] double res = __ieee754_atan2(y, x); [L284] COND TRUE res != pi VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418261, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] [L285] __VERIFIER_error() VAL [aT_atan={10737418255:0}, atanhi_atan={10737418257:0}, atanlo_atan={10737418244: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=10737418261, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418264, y=10737418275, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 120 locations, 1 error locations. UNSAFE Result, 0.9s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 316 SDtfs, 0 SDslu, 150 SDs, 0 SdLazy, 4 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=120occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 95 NumberOfCodeBlocks, 95 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 55 ConstructedInterpolants, 0 QuantifiedInterpolants, 1546 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 07:56:28,430 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:56:28,431 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:56:28,440 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:56:28,440 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:56:28,441 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:56:28,442 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:56:28,443 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:56:28,444 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:56:28,445 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:56:28,445 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:56:28,445 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:56:28,446 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:56:28,447 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:56:28,447 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:56:28,448 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:56:28,449 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:56:28,450 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:56:28,451 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:56:28,452 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:56:28,453 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:56:28,453 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:56:28,455 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:56:28,455 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:56:28,455 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:56:28,456 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:56:28,456 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:56:28,457 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:56:28,457 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:56:28,458 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:56:28,458 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:56:28,459 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:56:28,459 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:56:28,459 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:56:28,460 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:56:28,460 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:56:28,460 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 07:56:28,470 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:56:28,470 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:56:28,471 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:56:28,471 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 07:56:28,471 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 07:56:28,472 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:56:28,472 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:56:28,473 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:56:28,474 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:56:28,474 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 07:56:28,474 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:56:28,474 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 07:56:28,474 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:56:28,474 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 07:56:28,475 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 07:56:28,475 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_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 -> a90ab4b5fd896d7fe8c91ee95d37e83b559389ba [2018-11-23 07:56:28,505 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:56:28,514 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:56:28,516 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:56:28,518 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:56:28,518 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:56:28,518 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:28,564 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/dd1ac6892/82f8a6e554a445f796424ef0ece01d8f/FLAGeee24905e [2018-11-23 07:56:28,895 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:56:28,895 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:28,900 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/dd1ac6892/82f8a6e554a445f796424ef0ece01d8f/FLAGeee24905e [2018-11-23 07:56:28,910 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/data/dd1ac6892/82f8a6e554a445f796424ef0ece01d8f [2018-11-23 07:56:28,912 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:56:28,914 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:56:28,914 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:56:28,915 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:56:28,918 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:56:28,919 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:56:28" (1/1) ... [2018-11-23 07:56:28,921 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@772a8eb9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:28, skipping insertion in model container [2018-11-23 07:56:28,921 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:56:28" (1/1) ... [2018-11-23 07:56:28,927 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:56:28,948 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:56:29,116 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:56:29,122 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:56:29,174 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:56:29,197 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:56:29,197 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29 WrapperNode [2018-11-23 07:56:29,197 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:56:29,198 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:56:29,198 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:56:29,198 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:56:29,203 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,256 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,262 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:56:29,263 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:56:29,263 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:56:29,263 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:56:29,268 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,269 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,272 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,272 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,291 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,297 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,299 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... [2018-11-23 07:56:29,301 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:56:29,302 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:56:29,302 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:56:29,302 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:56:29,303 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 07:56:29,334 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 07:56:29,334 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 07:56:29,335 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 07:56:29,335 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 07:56:29,335 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 07:56:29,335 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 07:56:29,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 07:56:29,336 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 07:56:29,336 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:56:29,336 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:56:29,336 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 07:56:29,337 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:56:29,475 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:29,513 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:30,743 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:30,945 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:31,011 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:31,046 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:31,555 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:31,571 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:31,627 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:36,165 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:47,378 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:56:47,558 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:56:47,559 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 07:56:47,559 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:56:47 BoogieIcfgContainer [2018-11-23 07:56:47,559 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:56:47,560 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 07:56:47,560 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 07:56:47,562 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 07:56:47,562 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 07:56:28" (1/3) ... [2018-11-23 07:56:47,563 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4970e750 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:56:47, skipping insertion in model container [2018-11-23 07:56:47,563 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:56:29" (2/3) ... [2018-11-23 07:56:47,563 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4970e750 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:56:47, skipping insertion in model container [2018-11-23 07:56:47,563 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:56:47" (3/3) ... [2018-11-23 07:56:47,565 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0682b_true-unreach-call.c [2018-11-23 07:56:47,571 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 07:56:47,576 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 07:56:47,586 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 07:56:47,606 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:56:47,606 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 07:56:47,607 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 07:56:47,607 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 07:56:47,607 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:56:47,607 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:56:47,607 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 07:56:47,607 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:56:47,607 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 07:56:47,620 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states. [2018-11-23 07:56:47,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 07:56:47,624 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:47,625 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:47,626 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:47,629 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:47,629 INFO L82 PathProgramCache]: Analyzing trace with hash -1752602122, now seen corresponding path program 1 times [2018-11-23 07:56:47,633 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:56:47,633 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 07:56:47,639 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:47,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:56:47,892 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:56:47,905 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 07:56:47,906 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:56:47,925 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:56:47,925 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:56:47,928 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 07:56:47,935 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 07:56:47,936 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:56:47,937 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 2 states. [2018-11-23 07:56:47,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:56:47,964 INFO L93 Difference]: Finished difference Result 232 states and 362 transitions. [2018-11-23 07:56:47,964 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 07:56:47,965 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 27 [2018-11-23 07:56:47,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:56:47,973 INFO L225 Difference]: With dead ends: 232 [2018-11-23 07:56:47,973 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 07:56:47,976 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 26 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 07:56:47,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 07:56:48,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 07:56:48,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 07:56:48,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 155 transitions. [2018-11-23 07:56:48,010 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 155 transitions. Word has length 27 [2018-11-23 07:56:48,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:56:48,011 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 155 transitions. [2018-11-23 07:56:48,011 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 07:56:48,011 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 155 transitions. [2018-11-23 07:56:48,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 07:56:48,011 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:48,012 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:48,012 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:48,012 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:48,012 INFO L82 PathProgramCache]: Analyzing trace with hash -1500670579, now seen corresponding path program 1 times [2018-11-23 07:56:48,013 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:56:48,013 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/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 07:56:48,015 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:48,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:56:48,259 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:56:48,275 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 07:56:48,275 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:56:48,288 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:56:48,288 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:56:48,290 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 07:56:48,290 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:56:48,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:56:48,290 INFO L87 Difference]: Start difference. First operand 115 states and 155 transitions. Second operand 3 states. [2018-11-23 07:56:48,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:56:48,309 INFO L93 Difference]: Finished difference Result 207 states and 286 transitions. [2018-11-23 07:56:48,310 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:56:48,310 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 07:56:48,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:56:48,312 INFO L225 Difference]: With dead ends: 207 [2018-11-23 07:56:48,312 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 07:56:48,313 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:56:48,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 07:56:48,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 07:56:48,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 07:56:48,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 154 transitions. [2018-11-23 07:56:48,321 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 154 transitions. Word has length 30 [2018-11-23 07:56:48,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:56:48,321 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 154 transitions. [2018-11-23 07:56:48,321 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 07:56:48,321 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 154 transitions. [2018-11-23 07:56:48,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 07:56:48,322 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:56:48,322 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:56:48,322 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:56:48,322 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:56:48,322 INFO L82 PathProgramCache]: Analyzing trace with hash 1682265256, now seen corresponding path program 1 times [2018-11-23 07:56:48,323 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:56:48,323 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3217e1a0-0cab-43f3-9d12-30cbce3f98d0/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 07:56:48,328 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:56:49,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:56:49,074 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:56:49,120 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:56:49,120 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:56:49,121 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:56:49,122 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:56:49,126 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 07:56:49,408 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2018-11-23 07:56:49,408 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_59)) 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:208) 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 07:56:49,411 INFO L168 Benchmark]: Toolchain (without parser) took 20497.79 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 950.8 MB in the beginning and 963.2 MB in the end (delta: -12.4 MB). Peak memory consumption was 125.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:49,412 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 07:56:49,412 INFO L168 Benchmark]: CACSL2BoogieTranslator took 282.91 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 929.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 07:56:49,413 INFO L168 Benchmark]: Boogie Procedure Inliner took 64.67 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 929.3 MB in the beginning and 1.1 GB in the end (delta: -196.0 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:49,413 INFO L168 Benchmark]: Boogie Preprocessor took 38.93 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:56:49,414 INFO L168 Benchmark]: RCFGBuilder took 18257.52 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: 73.3 MB). Peak memory consumption was 73.3 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:49,414 INFO L168 Benchmark]: TraceAbstraction took 1850.16 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 963.2 MB in the end (delta: 82.1 MB). Peak memory consumption was 82.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:56:49,416 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 282.91 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 929.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 64.67 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 929.3 MB in the beginning and 1.1 GB in the end (delta: -196.0 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 38.93 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 18257.52 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: 73.3 MB). Peak memory consumption was 73.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1850.16 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 963.2 MB in the end (delta: 82.1 MB). Peak memory consumption was 82.1 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_59)) 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_59)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...