./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0661a_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_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 affc33a17eeaac5bbef8bea17cfba29382789d60 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 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_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 affc33a17eeaac5bbef8bea17cfba29382789d60 .................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 06:18:27,296 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:18:27,297 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:18:27,305 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:18:27,305 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:18:27,306 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:18:27,306 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:18:27,308 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:18:27,309 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:18:27,309 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:18:27,310 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:18:27,310 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:18:27,311 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:18:27,311 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:18:27,312 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:18:27,312 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:18:27,312 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:18:27,314 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:18:27,315 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:18:27,316 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:18:27,317 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:18:27,317 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:18:27,319 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:18:27,319 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:18:27,319 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:18:27,320 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:18:27,320 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:18:27,321 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:18:27,321 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:18:27,322 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:18:27,322 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:18:27,322 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:18:27,323 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:18:27,323 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:18:27,323 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:18:27,324 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:18:27,324 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 06:18:27,331 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:18:27,331 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:18:27,332 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:18:27,332 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:18:27,332 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:18:27,332 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:18:27,332 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:18:27,332 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:18:27,332 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:18:27,333 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:18:27,334 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:18:27,334 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:18:27,334 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:18:27,335 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:18:27,335 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:18:27,335 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:18:27,335 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:18:27,335 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_1eb0c451-0c98-4bf4-870f-a974544a066b/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 -> affc33a17eeaac5bbef8bea17cfba29382789d60 [2018-11-23 06:18:27,357 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:18:27,365 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:18:27,368 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:18:27,369 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:18:27,369 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:18:27,370 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:27,415 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/631b01338/51d6a0d231e54aa1bd40ba497fd22027/FLAG07d92101f [2018-11-23 06:18:27,749 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:18:27,749 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:27,756 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/631b01338/51d6a0d231e54aa1bd40ba497fd22027/FLAG07d92101f [2018-11-23 06:18:27,768 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/631b01338/51d6a0d231e54aa1bd40ba497fd22027 [2018-11-23 06:18:27,770 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:18:27,771 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:18:27,772 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:18:27,772 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:18:27,775 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:18:27,776 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:18:27" (1/1) ... [2018-11-23 06:18:27,778 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 06:18:27, skipping insertion in model container [2018-11-23 06:18:27,778 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:18:27" (1/1) ... [2018-11-23 06:18:27,786 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:18:27,808 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:18:27,964 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:18:27,968 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:18:28,002 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:18:28,062 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:18:28,063 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28 WrapperNode [2018-11-23 06:18:28,063 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:18:28,063 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:18:28,064 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:18:28,064 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:18:28,071 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,081 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,085 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:18:28,086 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:18:28,086 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:18:28,086 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:18:28,092 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,092 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,095 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,095 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,109 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,115 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,116 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... [2018-11-23 06:18:28,118 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:18:28,119 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:18:28,119 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:18:28,119 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:18:28,119 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 06:18:28,150 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 06:18:28,150 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 06:18:28,150 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:18:28,151 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:18:28,151 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:18:28,151 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:18:28,151 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:18:28,151 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:18:28,151 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:18:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:18:28,152 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:18:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:18:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 06:18:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:18:28,578 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:18:28,578 INFO L280 CfgBuilder]: Removed 18 assue(true) statements. [2018-11-23 06:18:28,579 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:18:28 BoogieIcfgContainer [2018-11-23 06:18:28,579 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:18:28,579 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:18:28,580 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:18:28,581 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:18:28,582 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:18:27" (1/3) ... [2018-11-23 06:18:28,582 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f7c7ced and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:18:28, skipping insertion in model container [2018-11-23 06:18:28,582 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:28" (2/3) ... [2018-11-23 06:18:28,583 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f7c7ced and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:18:28, skipping insertion in model container [2018-11-23 06:18:28,583 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:18:28" (3/3) ... [2018-11-23 06:18:28,584 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:28,590 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:18:28,595 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:18:28,604 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:18:28,624 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:18:28,625 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:18:28,625 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:18:28,625 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:18:28,625 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:18:28,625 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:18:28,625 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:18:28,625 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:18:28,625 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:18:28,637 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states. [2018-11-23 06:18:28,641 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 06:18:28,641 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:18:28,642 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:18:28,643 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:18:28,647 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:18:28,647 INFO L82 PathProgramCache]: Analyzing trace with hash 913677384, now seen corresponding path program 1 times [2018-11-23 06:18:28,648 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:18:28,648 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:18:28,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:18:28,677 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:18:28,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:18:28,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:18:28,748 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 06:18:28,750 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:18:28,750 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:18:28,752 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:18:28,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:18:28,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:18:28,761 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 2 states. [2018-11-23 06:18:28,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:18:28,784 INFO L93 Difference]: Finished difference Result 215 states and 339 transitions. [2018-11-23 06:18:28,784 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:18:28,785 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 06:18:28,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:18:28,792 INFO L225 Difference]: With dead ends: 215 [2018-11-23 06:18:28,792 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 06:18:28,795 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 06:18:28,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 06:18:28,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-23 06:18:28,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 06:18:28,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 147 transitions. [2018-11-23 06:18:28,829 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 147 transitions. Word has length 20 [2018-11-23 06:18:28,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:18:28,829 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 147 transitions. [2018-11-23 06:18:28,829 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:18:28,829 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 147 transitions. [2018-11-23 06:18:28,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 06:18:28,830 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:18:28,830 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:18:28,830 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:18:28,830 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:18:28,831 INFO L82 PathProgramCache]: Analyzing trace with hash -1713483969, now seen corresponding path program 1 times [2018-11-23 06:18:28,831 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:18:28,831 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:18:28,832 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:18:28,832 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:18:28,832 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:18:28,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:18:28,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:18:28,945 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=114, |#NULL.offset|=105, |old(#NULL.base)|=114, |old(#NULL.offset)|=105, |old(~#aT_atan~0.base)|=96, |old(~#aT_atan~0.offset)|=103, |old(~#atanhi_atan~0.base)|=99, |old(~#atanhi_atan~0.offset)|=110, |old(~#atanlo_atan~0.base)|=93, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=104.0, |old(~pi_lo_atan2~0)|=102.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=95.0, |~#aT_atan~0.base|=96, |~#aT_atan~0.offset|=103, |~#atanhi_atan~0.base|=99, |~#atanhi_atan~0.offset|=110, |~#atanlo_atan~0.base|=93, |~#atanlo_atan~0.offset|=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.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)|=114, |old(#NULL.offset)|=105, |old(~#aT_atan~0.base)|=96, |old(~#aT_atan~0.offset)|=103, |old(~#atanhi_atan~0.base)|=99, |old(~#atanhi_atan~0.offset)|=110, |old(~#atanlo_atan~0.base)|=93, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=104.0, |old(~pi_lo_atan2~0)|=102.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=95.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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)|=114, |old(#NULL.offset)|=105, |old(~#aT_atan~0.base)|=96, |old(~#aT_atan~0.offset)|=103, |old(~#atanhi_atan~0.base)|=99, |old(~#atanhi_atan~0.offset)|=110, |old(~#atanlo_atan~0.base)|=93, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=104.0, |old(~pi_lo_atan2~0)|=102.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=95.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #362#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := #t~nondet50;havoc #t~nondet50;~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [main_~x~0=108.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=108.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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~union30;havoc #t~mem29;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem31;havoc #t~union32;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union34;havoc #t~mem33;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=91, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=91, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=91, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=91, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=91, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=109.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=109.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #350#return; VAL [main_~x~0=108.0, main_~y~0=109.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret51|=117.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret51;havoc #t~ret51;#t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [main_~res~0=117.0, main_~x~0=108.0, main_~y~0=109.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short53|=false, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !#t~short53; VAL [main_~res~0=117.0, main_~x~0=108.0, main_~y~0=109.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short53|=false, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !#t~short53;havoc #t~short53;havoc #t~ret52; VAL [main_~res~0=117.0, main_~x~0=108.0, main_~y~0=109.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=117.0, main_~x~0=108.0, main_~y~0=109.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=114, #NULL.offset=105, old(#NULL.base)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=96, ~#aT_atan~0.offset=103, ~#atanhi_atan~0.base=99, ~#atanhi_atan~0.offset=110, ~#atanlo_atan~0.base=93, ~#atanlo_atan~0.offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267-L274] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret51=117.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] assume !#t~short53; VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270-L273] assume !#t~short53; [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=114, #NULL.offset=105, old(#NULL.base)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=96, ~#aT_atan~0.offset=103, ~#atanhi_atan~0.base=99, ~#atanhi_atan~0.offset=110, ~#atanlo_atan~0.base=93, ~#atanlo_atan~0.offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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)=114, old(#NULL.offset)=105, old(~#aT_atan~0.base)=96, old(~#aT_atan~0.offset)=103, old(~#atanhi_atan~0.base)=99, old(~#atanhi_atan~0.offset)=110, old(~#atanlo_atan~0.base)=93, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267-L274] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=108.0, #in~y=109.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret51=117.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] assume !#t~short53; VAL [#NULL.base=0, #NULL.offset=0, #t~short53=false, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270-L273] assume !#t~short53; [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=105, old(#NULL!base)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=96, ~#aT_atan~0!offset=103, ~#atanhi_atan~0!base=99, ~#atanhi_atan~0!offset=110, ~#atanlo_atan~0!base=93, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=117.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=105, old(#NULL!base)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=96, ~#aT_atan~0!offset=103, ~#atanhi_atan~0!base=99, ~#atanhi_atan~0!offset=110, ~#atanlo_atan~0!base=93, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=117.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=105, old(#NULL!base)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=96, ~#aT_atan~0!offset=103, ~#atanhi_atan~0!base=99, ~#atanhi_atan~0!offset=110, ~#atanlo_atan~0!base=93, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=117.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] ----- [2018-11-23 06:18:29,076 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 110 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:18:29,077 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 103 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 06:18:29,077 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 99 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:18:29,078 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 96 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 06:18:29,078 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 93 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:18:29,078 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 120 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=114, #NULL!offset=105, old(#NULL!base)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=96, ~#aT_atan~0!offset=103, ~#atanhi_atan~0!base=99, ~#atanhi_atan~0!offset=110, ~#atanlo_atan~0!base=93, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=104.0, ~pi_lo_atan2~0=102.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=95.0] [?] #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)=114, old(#NULL!offset)=105, old(~#aT_atan~0!base)=96, old(~#aT_atan~0!offset)=103, old(~#atanhi_atan~0!base)=99, old(~#atanhi_atan~0!offset)=110, old(~#atanlo_atan~0!base)=93, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=104.0, old(~pi_lo_atan2~0)=102.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=95.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret54 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L264] ~x~0 := #t~nondet50; [L264] havoc #t~nondet50; [L265] ~y~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L267] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~zero_atan2~0=0.0] [L268] CALL call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=109.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=91, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=109.0, ~zero_atan2~0=0.0] [L268] RET call #t~ret51 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret51=117.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=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=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L268] ~res~0 := #t~ret51; [L268] havoc #t~ret51; [L270] #t~short53 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND FALSE !(#t~short53) VAL [#NULL!base=0, #NULL!offset=0, #t~short53=false, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L270] COND TRUE !#t~short53 [L270] havoc #t~short53; [L270] havoc #t~ret52; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L271] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=117.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=109.0, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=115, \old(one_atan)=104, \old(pi)=111, \old(pi_lo_atan2)=102, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=119, \old(zero_atan2)=95, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L264] double x = __VERIFIER_nondet_double(); [L265] double y = -0.0; VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, zero_atan2=0] [L267] COND TRUE x > 0.0 VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, zero_atan2=0] [L268] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, y=109, 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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=112, 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=108, y=109, 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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=91, 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=108, y=109, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=91, 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=108, y=109, zero_atan2=0] [L268] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=117, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, y=109, zero_atan2=0] [L268] double res = __ieee754_atan2(y, x); [L270] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=117, res == -0.0 && __signbit_double(res) == 1=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=109, zero_atan2=0] [L270] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L271] __VERIFIER_error() VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=117, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=109, zero_atan2=0] ----- [2018-11-23 06:18:29,132 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:18:29 BoogieIcfgContainer [2018-11-23 06:18:29,134 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:18:29,135 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:18:29,135 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:18:29,135 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:18:29,135 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:18:28" (3/4) ... [2018-11-23 06:18:29,138 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 06:18:29,139 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:18:29,139 INFO L168 Benchmark]: Toolchain (without parser) took 1368.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 127.9 MB). Free memory was 959.3 MB in the beginning and 1.0 GB in the end (delta: -58.6 MB). Peak memory consumption was 69.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,141 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 06:18:29,141 INFO L168 Benchmark]: CACSL2BoogieTranslator took 290.97 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 127.9 MB). Free memory was 959.3 MB in the beginning and 1.1 GB in the end (delta: -168.0 MB). Peak memory consumption was 34.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,142 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,142 INFO L168 Benchmark]: Boogie Preprocessor took 32.79 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,143 INFO L168 Benchmark]: RCFGBuilder took 460.26 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: 52.0 MB). Peak memory consumption was 52.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,143 INFO L168 Benchmark]: TraceAbstraction took 554.82 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 52.1 MB). Peak memory consumption was 52.1 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:29,143 INFO L168 Benchmark]: Witness Printer took 4.11 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:18:29,147 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 290.97 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 127.9 MB). Free memory was 959.3 MB in the beginning and 1.1 GB in the end (delta: -168.0 MB). Peak memory consumption was 34.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 22.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 32.79 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 460.26 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: 52.0 MB). Peak memory consumption was 52.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 554.82 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 52.1 MB). Peak memory consumption was 52.1 MB. Max. memory is 11.5 GB. * Witness Printer took 4.11 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 110 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 103 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 99 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 96 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 93 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 120 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 271]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 265, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 270. Possible FailurePath: [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=115, \old(one_atan)=104, \old(pi)=111, \old(pi_lo_atan2)=102, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=119, \old(zero_atan2)=95, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L264] double x = __VERIFIER_nondet_double(); [L265] double y = -0.0; VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, zero_atan2=0] [L267] COND TRUE x > 0.0 VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, zero_atan2=0] [L268] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, y=109, 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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=112, 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=108, y=109, 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)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=91, 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=108, y=109, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=108, \old(y)=109, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=91, 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=108, y=109, zero_atan2=0] [L268] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=117, aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=108, y=109, zero_atan2=0] [L268] double res = __ieee754_atan2(y, x); [L270] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=117, res == -0.0 && __signbit_double(res) == 1=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=109, zero_atan2=0] [L270] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L271] __VERIFIER_error() VAL [aT_atan={97:0}, atanhi_atan={100:0}, atanlo_atan={90: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=117, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=109, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 112 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 153 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=112occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 42 NumberOfCodeBlocks, 42 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 19 ConstructedInterpolants, 0 QuantifiedInterpolants, 361 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 06:18:30,557 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:18:30,558 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:18:30,565 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:18:30,566 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:18:30,566 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:18:30,567 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:18:30,568 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:18:30,569 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:18:30,570 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:18:30,570 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:18:30,570 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:18:30,571 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:18:30,572 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:18:30,572 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:18:30,573 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:18:30,574 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:18:30,575 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:18:30,576 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:18:30,577 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:18:30,578 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:18:30,579 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:18:30,580 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:18:30,580 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:18:30,581 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:18:30,581 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:18:30,582 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:18:30,582 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:18:30,583 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:18:30,584 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:18:30,584 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:18:30,584 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:18:30,584 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:18:30,585 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:18:30,585 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:18:30,586 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:18:30,586 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 06:18:30,596 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:18:30,596 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:18:30,597 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:18:30,597 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:18:30,598 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:18:30,598 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:18:30,598 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:18:30,598 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:18:30,598 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:18:30,598 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:18:30,599 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:18:30,600 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:18:30,600 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:18:30,600 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:18:30,601 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:18:30,601 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 06:18:30,601 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:18:30,601 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 06:18:30,601 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 06:18:30,601 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_1eb0c451-0c98-4bf4-870f-a974544a066b/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 -> affc33a17eeaac5bbef8bea17cfba29382789d60 [2018-11-23 06:18:30,631 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:18:30,641 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:18:30,643 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:18:30,644 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:18:30,645 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:18:30,645 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:30,691 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/e694d2ef9/d2e42e4de83a40afb0de87f2ccb3bf1d/FLAG7335fe21f [2018-11-23 06:18:31,026 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:18:31,026 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/sv-benchmarks/c/float-newlib/double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:31,031 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/e694d2ef9/d2e42e4de83a40afb0de87f2ccb3bf1d/FLAG7335fe21f [2018-11-23 06:18:31,454 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/bin-2019/uautomizer/data/e694d2ef9/d2e42e4de83a40afb0de87f2ccb3bf1d [2018-11-23 06:18:31,456 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:18:31,457 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:18:31,458 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:18:31,458 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:18:31,460 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:18:31,460 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,462 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2eec4bdb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31, skipping insertion in model container [2018-11-23 06:18:31,462 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,468 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:18:31,487 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:18:31,652 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:18:31,659 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:18:31,710 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:18:31,734 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:18:31,735 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31 WrapperNode [2018-11-23 06:18:31,735 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:18:31,735 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:18:31,735 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:18:31,735 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:18:31,740 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,796 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,802 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:18:31,802 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:18:31,802 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:18:31,802 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:18:31,808 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,808 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,812 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,812 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,829 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,835 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,837 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... [2018-11-23 06:18:31,839 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:18:31,840 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:18:31,840 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:18:31,840 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:18:31,840 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 06:18:31,872 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 06:18:31,872 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 06:18:31,872 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 06:18:31,872 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 06:18:31,873 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:18:31,873 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:18:31,873 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:18:31,873 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:18:31,873 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:18:31,873 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:18:31,873 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:18:31,873 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:18:31,874 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:18:31,874 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:18:31,874 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 06:18:31,875 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:18:31,991 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:32,580 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:32,738 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:32,835 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:32,861 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:33,589 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:33,601 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:33,648 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:38,245 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:49,399 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:18:49,851 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:18:49,852 INFO L280 CfgBuilder]: Removed 18 assue(true) statements. [2018-11-23 06:18:49,852 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:18:49 BoogieIcfgContainer [2018-11-23 06:18:49,852 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:18:49,853 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:18:49,853 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:18:49,856 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:18:49,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:18:31" (1/3) ... [2018-11-23 06:18:49,857 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6202a654 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:18:49, skipping insertion in model container [2018-11-23 06:18:49,857 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:18:31" (2/3) ... [2018-11-23 06:18:49,857 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6202a654 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:18:49, skipping insertion in model container [2018-11-23 06:18:49,857 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:18:49" (3/3) ... [2018-11-23 06:18:49,858 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0661a_true-unreach-call.c [2018-11-23 06:18:49,864 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:18:49,869 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:18:49,881 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:18:49,898 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:18:49,898 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:18:49,899 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:18:49,899 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:18:49,899 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:18:49,899 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:18:49,899 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:18:49,899 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:18:49,899 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:18:49,911 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states. [2018-11-23 06:18:49,915 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 06:18:49,915 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:18:49,916 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:18:49,917 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:18:49,920 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:18:49,920 INFO L82 PathProgramCache]: Analyzing trace with hash 913677384, now seen corresponding path program 1 times [2018-11-23 06:18:49,923 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:18:49,924 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 06:18:49,927 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:18:50,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:18:50,157 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:18:50,169 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 06:18:50,169 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:18:50,180 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:18:50,180 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:18:50,183 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:18:50,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:18:50,194 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:18:50,196 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 2 states. [2018-11-23 06:18:50,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:18:50,223 INFO L93 Difference]: Finished difference Result 215 states and 339 transitions. [2018-11-23 06:18:50,223 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:18:50,224 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 06:18:50,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:18:50,230 INFO L225 Difference]: With dead ends: 215 [2018-11-23 06:18:50,231 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 06:18:50,233 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:18:50,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 06:18:50,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-23 06:18:50,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 06:18:50,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 147 transitions. [2018-11-23 06:18:50,262 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 147 transitions. Word has length 20 [2018-11-23 06:18:50,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:18:50,262 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 147 transitions. [2018-11-23 06:18:50,262 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:18:50,262 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 147 transitions. [2018-11-23 06:18:50,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 06:18:50,263 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:18:50,263 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:18:50,264 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:18:50,264 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:18:50,264 INFO L82 PathProgramCache]: Analyzing trace with hash -1713483969, now seen corresponding path program 1 times [2018-11-23 06:18:50,265 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:18:50,265 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1eb0c451-0c98-4bf4-870f-a974544a066b/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 06:18:50,268 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:18:50,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:18:50,639 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:18:50,768 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:18:50,768 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:18:50,770 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:18:50,770 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:18:50,774 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 76 [2018-11-23 06:18:50,977 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 06:18:50,978 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 06:18:50,980 INFO L168 Benchmark]: Toolchain (without parser) took 19523.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 949.7 MB in the beginning and 997.2 MB in the end (delta: -47.4 MB). Peak memory consumption was 85.2 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:50,981 INFO L168 Benchmark]: CDTParser took 0.17 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 06:18:50,982 INFO L168 Benchmark]: CACSL2BoogieTranslator took 277.12 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:50,982 INFO L168 Benchmark]: Boogie Procedure Inliner took 66.92 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -192.1 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:50,983 INFO L168 Benchmark]: Boogie Preprocessor took 37.09 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:18:50,983 INFO L168 Benchmark]: RCFGBuilder took 18012.69 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: 66.2 MB). Peak memory consumption was 66.2 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:50,983 INFO L168 Benchmark]: TraceAbstraction took 1126.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 997.2 MB in the end (delta: 57.0 MB). Peak memory consumption was 57.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:18:50,986 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.17 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.12 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 66.92 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -192.1 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 37.09 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 18012.69 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: 66.2 MB). Peak memory consumption was 66.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1126.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 997.2 MB in the end (delta: 57.0 MB). Peak memory consumption was 57.0 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv4 32) ((_ extract 63 32) |v_q#valueAsBitvector_11|)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...