./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0660a_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_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 3077c551d2b458403e0209f5991b4e91a7b5094b ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 3077c551d2b458403e0209f5991b4e91a7b5094b ........................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 09:56:05,635 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 09:56:05,636 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 09:56:05,644 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 09:56:05,645 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 09:56:05,645 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 09:56:05,646 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 09:56:05,648 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 09:56:05,649 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 09:56:05,649 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 09:56:05,650 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 09:56:05,650 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 09:56:05,651 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 09:56:05,652 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 09:56:05,652 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 09:56:05,653 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 09:56:05,653 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 09:56:05,655 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 09:56:05,656 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 09:56:05,657 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 09:56:05,658 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 09:56:05,659 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 09:56:05,660 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 09:56:05,661 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 09:56:05,661 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 09:56:05,661 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 09:56:05,662 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 09:56:05,663 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 09:56:05,663 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 09:56:05,664 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 09:56:05,664 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 09:56:05,665 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 09:56:05,665 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 09:56:05,665 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 09:56:05,666 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 09:56:05,666 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 09:56:05,666 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 09:56:05,677 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 09:56:05,677 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 09:56:05,678 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 09:56:05,678 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 09:56:05,678 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 09:56:05,678 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 09:56:05,678 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 09:56:05,679 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 09:56:05,679 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 09:56:05,680 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 09:56:05,680 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 09:56:05,681 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 09:56:05,681 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 09:56:05,681 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 09:56:05,681 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 09:56:05,681 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 09:56:05,681 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 09:56:05,682 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 09:56:05,682 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 09:56:05,682 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 09:56:05,682 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_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 -> 3077c551d2b458403e0209f5991b4e91a7b5094b [2018-11-23 09:56:05,703 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 09:56:05,711 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 09:56:05,713 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 09:56:05,714 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 09:56:05,714 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 09:56:05,714 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:05,751 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c71154b45/53f3570ce72e42979a7d20025e30acf1/FLAG63c8571c1 [2018-11-23 09:56:06,145 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 09:56:06,146 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:06,151 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c71154b45/53f3570ce72e42979a7d20025e30acf1/FLAG63c8571c1 [2018-11-23 09:56:06,161 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c71154b45/53f3570ce72e42979a7d20025e30acf1 [2018-11-23 09:56:06,164 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 09:56:06,165 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 09:56:06,165 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 09:56:06,165 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 09:56:06,168 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 09:56:06,168 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,170 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2e96cc93 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06, skipping insertion in model container [2018-11-23 09:56:06,170 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,176 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 09:56:06,194 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 09:56:06,339 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:56:06,343 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 09:56:06,376 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:56:06,438 INFO L195 MainTranslator]: Completed translation [2018-11-23 09:56:06,438 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06 WrapperNode [2018-11-23 09:56:06,438 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 09:56:06,439 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 09:56:06,439 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 09:56:06,439 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 09:56:06,444 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,452 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,458 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 09:56:06,458 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 09:56:06,459 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 09:56:06,459 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 09:56:06,466 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,466 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,468 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,469 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,483 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,491 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,493 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... [2018-11-23 09:56:06,497 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 09:56:06,497 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 09:56:06,498 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 09:56:06,498 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 09:56:06,499 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 09:56:06,539 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 09:56:06,539 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 09:56:06,539 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 09:56:06,539 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 09:56:06,539 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 09:56:06,539 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 09:56:06,539 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 09:56:06,539 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 09:56:06,540 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 09:56:06,540 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 09:56:06,540 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 09:56:06,540 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 09:56:06,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 09:56:06,541 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 09:56:06,955 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:56:06,955 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 09:56:06,956 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:56:06 BoogieIcfgContainer [2018-11-23 09:56:06,956 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:56:06,956 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 09:56:06,956 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 09:56:06,959 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 09:56:06,959 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 09:56:06" (1/3) ... [2018-11-23 09:56:06,959 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1bc62111 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:56:06, skipping insertion in model container [2018-11-23 09:56:06,960 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:06" (2/3) ... [2018-11-23 09:56:06,960 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1bc62111 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:56:06, skipping insertion in model container [2018-11-23 09:56:06,960 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:56:06" (3/3) ... [2018-11-23 09:56:06,961 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:06,967 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 09:56:06,973 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 09:56:06,983 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 09:56:07,004 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 09:56:07,005 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 09:56:07,005 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 09:56:07,005 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 09:56:07,005 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 09:56:07,005 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 09:56:07,005 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 09:56:07,005 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 09:56:07,005 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 09:56:07,019 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 09:56:07,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 09:56:07,024 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:56:07,025 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:56:07,027 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:56:07,030 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:56:07,031 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 09:56:07,032 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 09:56:07,032 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 09:56:07,061 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 09:56:07,062 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:56:07,062 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 09:56:07,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:56:07,142 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 09:56:07,144 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:56:07,145 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 09:56:07,148 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 09:56:07,156 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 09:56:07,157 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 09:56:07,158 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 09:56:07,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:56:07,181 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 09:56:07,181 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 09:56:07,182 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 09:56:07,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:56:07,189 INFO L225 Difference]: With dead ends: 197 [2018-11-23 09:56:07,190 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 09:56:07,193 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 09:56:07,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 09:56:07,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 09:56:07,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 09:56:07,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 09:56:07,223 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 09:56:07,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:56:07,223 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 09:56:07,223 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 09:56:07,223 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 09:56:07,224 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 09:56:07,224 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:56:07,224 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] [2018-11-23 09:56:07,224 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:56:07,225 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:56:07,225 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 09:56:07,225 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 09:56:07,225 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 09:56:07,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 09:56:07,226 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:56:07,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 09:56:07,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:56:07,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:56:07,322 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450972, |#NULL.offset|=6442450962, |old(#NULL.base)|=6442450972, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450966, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450974.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450969.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=6442450960, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=6442450966, |~#atanlo_atan~0.base|=6442450948, |~#atanlo_atan~0.offset|=6442450976, ~huge_atan~0=6442450974.0, ~one_atan~0=6442450961.0, ~pi_lo_atan2~0=6442450959.0, ~pi_o_2~0=6442450945.0, ~pi_o_4~0=6442450963.0, ~pi~0=6442450969.0, ~tiny_atan2~0=6442450975.0, ~zero_atan2~0=6442450952.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)|=6442450972, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450966, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450974.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450969.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450972, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450966, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450974.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450969.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #337#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := #t~nondet48;havoc #t~nondet48;~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [main_~x~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [main_~x~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem27;havoc #t~union28;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem29;havoc #t~union30;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem31;havoc #t~union32;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~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=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450970, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450965.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #327#return; VAL [main_~x~0=6442450964.0, main_~y~0=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret49|=6442450968.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret49;havoc #t~ret49; VAL [main_~res~0=6442450968.0, main_~x~0=6442450964.0, main_~y~0=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)); VAL [main_~res~0=6442450968.0, main_~x~0=6442450964.0, main_~y~0=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [main_~res~0=6442450968.0, main_~x~0=6442450964.0, main_~y~0=6442450965.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450972, #NULL.offset=6442450962, old(#NULL.base)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450966, ~#atanlo_atan~0.base=6442450948, ~#atanlo_atan~0.offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450972, #NULL.offset=6442450962, old(#NULL.base)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450966, ~#atanlo_atan~0.base=6442450948, ~#atanlo_atan~0.offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450972, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450966, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450972, #NULL!offset=6442450962, old(#NULL!base)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450966, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450972, #NULL!offset=6442450962, old(#NULL!base)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450966, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450972, #NULL!offset=6442450962, old(#NULL!base)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450966, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] ----- [2018-11-23 09:56:07,439 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450953 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 09:56:07,440 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 09:56:07,440 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450976 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 09:56:07,440 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 09:56:07,440 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450966 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 09:56:07,441 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450948 could not be translated for associated CType ARRAY#_4_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450972, #NULL!offset=6442450962, old(#NULL!base)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450966, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450974E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450969E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #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)=6442450972, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450966, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450974E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450969E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450970, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450965E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450970, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450965E9, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=6.442450968E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450968E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450965E9, ~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)=6442450974, \old(one_atan)=6442450961, \old(pi)=6442450969, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450975, \old(zero_atan2)=6442450952, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = __VERIFIER_nondet_double(); [L251] double y = -0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, zero_atan2=0] [L253] COND TRUE x < 0.0 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, zero_atan2=0] [L255] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450970, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450970, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450970, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L255] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450968, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != -pi VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450968, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450968, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] ----- [2018-11-23 09:56:07,488 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 09:56:07 BoogieIcfgContainer [2018-11-23 09:56:07,488 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 09:56:07,488 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 09:56:07,488 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 09:56:07,488 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 09:56:07,489 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:56:06" (3/4) ... [2018-11-23 09:56:07,492 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 09:56:07,492 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 09:56:07,493 INFO L168 Benchmark]: Toolchain (without parser) took 1328.97 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 959.2 MB in the beginning and 1.0 GB in the end (delta: -57.2 MB). Peak memory consumption was 60.2 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,496 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:56:07,497 INFO L168 Benchmark]: CACSL2BoogieTranslator took 273.01 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -157.6 MB). Peak memory consumption was 32.0 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,497 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.59 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,498 INFO L168 Benchmark]: Boogie Preprocessor took 38.72 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,498 INFO L168 Benchmark]: RCFGBuilder took 458.44 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 49.3 MB). Peak memory consumption was 49.3 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,499 INFO L168 Benchmark]: TraceAbstraction took 531.46 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 45.7 MB). Peak memory consumption was 45.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:07,499 INFO L168 Benchmark]: Witness Printer took 4.32 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:56:07,502 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.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 273.01 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -157.6 MB). Peak memory consumption was 32.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 19.59 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 38.72 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 458.44 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 49.3 MB). Peak memory consumption was 49.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 531.46 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 45.7 MB). Peak memory consumption was 45.7 MB. Max. memory is 11.5 GB. * Witness Printer took 4.32 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450953 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450976 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450966 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450948 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 259]: 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 251, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 258. 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)=6442450974, \old(one_atan)=6442450961, \old(pi)=6442450969, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450975, \old(zero_atan2)=6442450952, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = __VERIFIER_nondet_double(); [L251] double y = -0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, zero_atan2=0] [L253] COND TRUE x < 0.0 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, zero_atan2=0] [L255] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450970, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450970, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=6442450965, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450970, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L255] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450968, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != -pi VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450968, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450968, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450965, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 143 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 40 NumberOfCodeBlocks, 40 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 09:56:08,912 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 09:56:08,913 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 09:56:08,920 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 09:56:08,921 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 09:56:08,921 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 09:56:08,922 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 09:56:08,923 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 09:56:08,924 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 09:56:08,925 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 09:56:08,925 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 09:56:08,926 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 09:56:08,926 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 09:56:08,927 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 09:56:08,928 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 09:56:08,928 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 09:56:08,929 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 09:56:08,930 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 09:56:08,931 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 09:56:08,932 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 09:56:08,933 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 09:56:08,934 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 09:56:08,936 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 09:56:08,936 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 09:56:08,936 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 09:56:08,937 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 09:56:08,937 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 09:56:08,938 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 09:56:08,938 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 09:56:08,939 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 09:56:08,939 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 09:56:08,940 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 09:56:08,940 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 09:56:08,940 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 09:56:08,941 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 09:56:08,941 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 09:56:08,941 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 09:56:08,952 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 09:56:08,952 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 09:56:08,952 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 09:56:08,952 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 09:56:08,953 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 09:56:08,953 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 09:56:08,953 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 09:56:08,953 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 09:56:08,953 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 09:56:08,954 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 09:56:08,955 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 09:56:08,955 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 09:56:08,956 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 09:56:08,956 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 09:56:08,957 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_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 -> 3077c551d2b458403e0209f5991b4e91a7b5094b [2018-11-23 09:56:08,985 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 09:56:08,993 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 09:56:08,995 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 09:56:08,996 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 09:56:08,996 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 09:56:08,996 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:09,031 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c8fd7240c/9bb1452a94274a21b615aa4ed1a9e91d/FLAGc3b117946 [2018-11-23 09:56:09,371 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 09:56:09,371 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/sv-benchmarks/c/float-newlib/double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:09,376 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c8fd7240c/9bb1452a94274a21b615aa4ed1a9e91d/FLAGc3b117946 [2018-11-23 09:56:09,795 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/bin-2019/uautomizer/data/c8fd7240c/9bb1452a94274a21b615aa4ed1a9e91d [2018-11-23 09:56:09,798 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 09:56:09,799 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 09:56:09,799 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 09:56:09,800 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 09:56:09,802 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 09:56:09,803 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:56:09" (1/1) ... [2018-11-23 09:56:09,805 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65b641ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:09, skipping insertion in model container [2018-11-23 09:56:09,806 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:56:09" (1/1) ... [2018-11-23 09:56:09,812 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 09:56:09,831 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 09:56:09,996 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:56:10,003 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 09:56:10,051 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:56:10,076 INFO L195 MainTranslator]: Completed translation [2018-11-23 09:56:10,076 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10 WrapperNode [2018-11-23 09:56:10,077 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 09:56:10,077 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 09:56:10,077 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 09:56:10,077 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 09:56:10,085 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,099 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,105 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 09:56:10,105 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 09:56:10,105 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 09:56:10,106 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 09:56:10,157 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,158 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,162 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,163 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,184 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,192 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,195 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... [2018-11-23 09:56:10,198 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 09:56:10,199 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 09:56:10,199 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 09:56:10,199 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 09:56:10,200 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 09:56:10,231 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 09:56:10,232 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 09:56:10,232 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 09:56:10,232 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 09:56:10,232 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 09:56:10,232 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 09:56:10,232 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 09:56:10,232 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 09:56:10,232 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 09:56:10,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 09:56:10,233 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 09:56:10,233 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 09:56:10,233 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 09:56:10,233 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 09:56:10,233 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 09:56:10,233 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 09:56:10,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 09:56:10,234 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 09:56:10,234 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 09:56:10,700 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:10,880 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:10,960 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:10,981 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:13,792 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:13,804 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:13,861 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:13,879 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:18,297 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:56:29,480 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:56:29,480 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 09:56:29,481 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:56:29 BoogieIcfgContainer [2018-11-23 09:56:29,481 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:56:29,482 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 09:56:29,482 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 09:56:29,485 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 09:56:29,486 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 09:56:09" (1/3) ... [2018-11-23 09:56:29,486 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@25f78dcb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:56:29, skipping insertion in model container [2018-11-23 09:56:29,487 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:56:10" (2/3) ... [2018-11-23 09:56:29,487 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@25f78dcb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:56:29, skipping insertion in model container [2018-11-23 09:56:29,487 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:56:29" (3/3) ... [2018-11-23 09:56:29,490 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0660a_true-unreach-call.c [2018-11-23 09:56:29,498 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 09:56:29,505 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 09:56:29,518 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 09:56:29,539 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 09:56:29,539 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 09:56:29,540 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 09:56:29,540 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 09:56:29,540 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 09:56:29,540 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 09:56:29,540 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 09:56:29,540 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 09:56:29,540 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 09:56:29,551 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 09:56:29,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 09:56:29,555 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:56:29,555 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:56:29,557 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:56:29,560 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:56:29,560 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 09:56:29,563 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:56:29,564 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 09:56:29,568 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:56:29,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:56:29,786 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:56:29,798 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 09:56:29,798 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:56:29,810 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:56:29,810 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 09:56:29,813 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 09:56:29,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 09:56:29,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 09:56:29,822 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 09:56:29,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:56:29,846 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 09:56:29,846 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 09:56:29,847 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 09:56:29,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:56:29,856 INFO L225 Difference]: With dead ends: 197 [2018-11-23 09:56:29,856 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 09:56:29,860 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 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 09:56:29,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 09:56:29,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 09:56:29,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 09:56:29,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 09:56:29,897 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 09:56:29,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:56:29,897 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 09:56:29,897 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 09:56:29,897 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 09:56:29,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 09:56:29,898 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:56:29,898 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] [2018-11-23 09:56:29,899 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:56:29,899 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:56:29,899 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 09:56:29,900 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:56:29,900 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_280dfb81-504d-4d25-8ef8-8b8d742dd2cb/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 09:56:29,903 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:56:30,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:56:30,373 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:56:30,472 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:56:30,473 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:56:30,474 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:56:30,475 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:56:30,479 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 09:56:30,781 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 09:56:30,781 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 09:56:30,784 INFO L168 Benchmark]: Toolchain (without parser) took 20985.44 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 948.7 MB in the beginning and 998.0 MB in the end (delta: -49.4 MB). Peak memory consumption was 83.3 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:30,785 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:56:30,785 INFO L168 Benchmark]: CACSL2BoogieTranslator took 277.33 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 927.2 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:30,785 INFO L168 Benchmark]: Boogie Procedure Inliner took 27.94 ms. Allocated memory is still 1.0 GB. Free memory is still 927.2 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:56:30,786 INFO L168 Benchmark]: Boogie Preprocessor took 93.17 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -193.0 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:30,786 INFO L168 Benchmark]: RCFGBuilder took 19282.10 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 65.0 MB). Peak memory consumption was 65.0 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:30,787 INFO L168 Benchmark]: TraceAbstraction took 1301.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 998.0 MB in the end (delta: 57.2 MB). Peak memory consumption was 57.2 MB. Max. memory is 11.5 GB. [2018-11-23 09:56:30,789 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 277.33 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 927.2 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 27.94 ms. Allocated memory is still 1.0 GB. Free memory is still 927.2 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 93.17 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -193.0 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. * RCFGBuilder took 19282.10 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 65.0 MB). Peak memory consumption was 65.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1301.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 998.0 MB in the end (delta: 57.2 MB). Peak memory consumption was 57.2 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...