./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0662b_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_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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 427f5a1297639616b7c4f6533641105ea064cfe8 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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 427f5a1297639616b7c4f6533641105ea064cfe8 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_62)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-22 22:33:30,005 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:33:30,006 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:33:30,014 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:33:30,014 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:33:30,015 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:33:30,016 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:33:30,017 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:33:30,018 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:33:30,019 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:33:30,019 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:33:30,019 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:33:30,020 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:33:30,021 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:33:30,021 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:33:30,022 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:33:30,023 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:33:30,024 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:33:30,025 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:33:30,026 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:33:30,027 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:33:30,028 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:33:30,029 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:33:30,029 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:33:30,029 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:33:30,030 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:33:30,031 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:33:30,031 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:33:30,032 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:33:30,033 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:33:30,033 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:33:30,033 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:33:30,033 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:33:30,033 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:33:30,034 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:33:30,035 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:33:30,035 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-22 22:33:30,044 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:33:30,044 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:33:30,045 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:33:30,045 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:33:30,045 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:33:30,045 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:33:30,046 INFO L133 SettingsManager]: * Use SBE=true [2018-11-22 22:33:30,046 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:33:30,046 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:33:30,046 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:33:30,046 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:33:30,046 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:33:30,047 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:33:30,048 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:33:30,048 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:33:30,048 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:33:30,048 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:33:30,048 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:33:30,048 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:33:30,048 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:33:30,049 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:33:30,049 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-22 22:33:30,049 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:33:30,049 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:33:30,049 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_1f1a0021-2d79-4af8-8074-8413c52afcf6/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 -> 427f5a1297639616b7c4f6533641105ea064cfe8 [2018-11-22 22:33:30,069 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:33:30,077 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:33:30,080 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:33:30,081 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:33:30,081 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:33:30,081 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:30,116 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/b4fffb942/f26623b5341741638b1b93fbd05a21ce/FLAG11c79ac3b [2018-11-22 22:33:30,428 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:33:30,428 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:30,433 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/b4fffb942/f26623b5341741638b1b93fbd05a21ce/FLAG11c79ac3b [2018-11-22 22:33:30,440 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/b4fffb942/f26623b5341741638b1b93fbd05a21ce [2018-11-22 22:33:30,442 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:33:30,443 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:33:30,444 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:30,444 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:33:30,446 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:33:30,446 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,448 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64d4648b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30, skipping insertion in model container [2018-11-22 22:33:30,448 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,453 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:33:30,471 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:33:30,609 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:30,613 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:33:30,645 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:30,701 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:33:30,701 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30 WrapperNode [2018-11-22 22:33:30,702 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:30,702 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:30,702 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:33:30,702 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:33:30,709 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,718 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,723 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:30,723 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:33:30,723 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:33:30,724 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:33:30,730 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,730 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,733 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,733 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,747 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,754 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,756 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... [2018-11-22 22:33:30,759 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:33:30,760 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:33:30,760 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:33:30,760 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:33:30,760 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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-22 22:33:30,798 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:33:30,798 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:33:30,798 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 22:33:30,798 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 22:33:30,799 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:33:30,799 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 22:33:30,799 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:33:30,800 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 22:33:30,800 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 22:33:30,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:33:30,800 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:33:30,800 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 22:33:30,800 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-22 22:33:30,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:33:31,227 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:33:31,227 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 22:33:31,228 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:31 BoogieIcfgContainer [2018-11-22 22:33:31,228 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:33:31,228 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:33:31,229 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:33:31,231 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:33:31,231 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:33:30" (1/3) ... [2018-11-22 22:33:31,232 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60652b76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:33:31, skipping insertion in model container [2018-11-22 22:33:31,232 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:30" (2/3) ... [2018-11-22 22:33:31,232 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60652b76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:33:31, skipping insertion in model container [2018-11-22 22:33:31,232 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:31" (3/3) ... [2018-11-22 22:33:31,233 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:31,239 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:33:31,244 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:33:31,253 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:33:31,271 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:33:31,271 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:33:31,271 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:33:31,271 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:33:31,272 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:33:31,272 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:33:31,272 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:33:31,272 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:33:31,272 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:33:31,287 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-22 22:33:31,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-22 22:33:31,292 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:33:31,293 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:33:31,295 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:33:31,300 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:33:31,300 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-22 22:33:31,302 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-22 22:33:31,302 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-22 22:33:31,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:33:31,335 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:33:31,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:33:31,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:33:31,424 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-22 22:33:31,427 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:33:31,428 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:33:31,431 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:33:31,440 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:33:31,440 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:33:31,442 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-22 22:33:31,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:33:31,462 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-22 22:33:31,462 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:33:31,463 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-22 22:33:31,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:33:31,471 INFO L225 Difference]: With dead ends: 197 [2018-11-22 22:33:31,471 INFO L226 Difference]: Without dead ends: 98 [2018-11-22 22:33:31,474 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-22 22:33:31,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-22 22:33:31,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-22 22:33:31,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-22 22:33:31,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-22 22:33:31,504 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-22 22:33:31,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:33:31,504 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-22 22:33:31,504 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:33:31,504 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-22 22:33:31,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-22 22:33:31,505 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:33:31,505 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:33:31,505 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:33:31,506 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:33:31,506 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-22 22:33:31,506 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-22 22:33:31,506 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-22 22:33:31,507 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:33:31,507 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:33:31,507 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:33:31,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:33:31,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:33:31,600 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|=106, |old(#NULL.base)|=114, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=104, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=108, |~#atanlo_atan~0.base|=92, |~#atanlo_atan~0.offset|=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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 #337#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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~ret50 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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 := 0.0;~y~0 := #t~nondet48;havoc #t~nondet48; VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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(~y~0, 0.0); VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~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=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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 #327#return; VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret49|=110.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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~ret49;havoc #t~ret49; VAL [main_~res~0=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [main_~res~0=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#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=106, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=108, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=110.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.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=106, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=108, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=110.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.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=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] ----- [2018-11-22 22:33:31,712 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 108 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:33:31,712 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-22 22:33:31,713 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-22 22:33:31,713 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:33:31,713 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:33:31,713 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 100 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=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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.0, ~y=117.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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.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)=116, \old(one_atan)=105, \old(pi)=111, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101: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] [L251] double x = 0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y < 0.0 VAL [aT_atan={99:0}, atanhi_atan={101: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=0, y=117, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=110, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != -pi_o_2 VAL [aT_atan={99:0}, atanhi_atan={101: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] ----- [2018-11-22 22:33:31,760 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:33:31 BoogieIcfgContainer [2018-11-22 22:33:31,760 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:33:31,760 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:33:31,760 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:33:31,760 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:33:31,761 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:31" (3/4) ... [2018-11-22 22:33:31,764 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 22:33:31,764 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:33:31,764 INFO L168 Benchmark]: Toolchain (without parser) took 1321.69 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 159.9 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -85.4 MB). Peak memory consumption was 74.6 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,766 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:33:31,766 INFO L168 Benchmark]: CACSL2BoogieTranslator took 258.22 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 159.9 MB). Free memory was 959.1 MB in the beginning and 1.2 GB in the end (delta: -198.1 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,767 INFO L168 Benchmark]: Boogie Procedure Inliner took 21.02 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,767 INFO L168 Benchmark]: Boogie Preprocessor took 36.01 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,767 INFO L168 Benchmark]: RCFGBuilder took 468.18 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 48.5 MB). Peak memory consumption was 48.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,768 INFO L168 Benchmark]: TraceAbstraction took 531.44 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: 47.3 MB). Peak memory consumption was 47.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:33:31,768 INFO L168 Benchmark]: Witness Printer took 3.67 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-22 22:33:31,771 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.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 258.22 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 159.9 MB). Free memory was 959.1 MB in the beginning and 1.2 GB in the end (delta: -198.1 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 21.02 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 36.01 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 468.18 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 48.5 MB). Peak memory consumption was 48.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 531.44 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: 47.3 MB). Peak memory consumption was 47.3 MB. Max. memory is 11.5 GB. * Witness Printer took 3.67 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 108 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 260]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 52, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 259. 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)=116, \old(one_atan)=105, \old(pi)=111, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101: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] [L251] double x = 0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y < 0.0 VAL [aT_atan={99:0}, atanhi_atan={101: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=0, y=117, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=110, aT_atan={99:0}, atanhi_atan={101: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=0, y=117, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != -pi_o_2 VAL [aT_atan={99:0}, atanhi_atan={101: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 143 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 40 NumberOfCodeBlocks, 40 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-22 22:33:33,202 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:33:33,203 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:33:33,211 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:33:33,211 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:33:33,211 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:33:33,212 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:33:33,213 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:33:33,214 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:33:33,215 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:33:33,215 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:33:33,216 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:33:33,216 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:33:33,217 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:33:33,218 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:33:33,218 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:33:33,219 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:33:33,220 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:33:33,221 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:33:33,222 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:33:33,223 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:33:33,224 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:33:33,226 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:33:33,226 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:33:33,226 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:33:33,226 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:33:33,227 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:33:33,228 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:33:33,228 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:33:33,229 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:33:33,229 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:33:33,230 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:33:33,230 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:33:33,230 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:33:33,230 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:33:33,231 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:33:33,231 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-22 22:33:33,242 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:33:33,242 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:33:33,242 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:33:33,242 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:33:33,243 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:33:33,243 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:33:33,243 INFO L133 SettingsManager]: * Use SBE=true [2018-11-22 22:33:33,243 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:33:33,243 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 22:33:33,244 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:33:33,245 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:33:33,245 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:33:33,246 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 22:33:33,246 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 22:33:33,247 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_1f1a0021-2d79-4af8-8074-8413c52afcf6/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 -> 427f5a1297639616b7c4f6533641105ea064cfe8 [2018-11-22 22:33:33,277 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:33:33,286 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:33:33,289 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:33:33,290 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:33:33,290 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:33:33,291 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:33,333 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/d74145aca/dafea41281bd450a9220071aa5028f99/FLAG06eb1e5fc [2018-11-22 22:33:33,737 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:33:33,737 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/sv-benchmarks/c/float-newlib/double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:33,742 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/d74145aca/dafea41281bd450a9220071aa5028f99/FLAG06eb1e5fc [2018-11-22 22:33:33,752 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/data/d74145aca/dafea41281bd450a9220071aa5028f99 [2018-11-22 22:33:33,755 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:33:33,756 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:33:33,757 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:33,757 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:33:33,759 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:33:33,760 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:33" (1/1) ... [2018-11-22 22:33:33,762 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c58243f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:33, skipping insertion in model container [2018-11-22 22:33:33,762 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:33" (1/1) ... [2018-11-22 22:33:33,768 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:33:33,788 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:33:33,968 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:33,975 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:33:34,023 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:34,044 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:33:34,045 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34 WrapperNode [2018-11-22 22:33:34,045 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:34,045 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:34,045 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:33:34,045 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:33:34,050 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,111 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,118 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:34,118 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:33:34,118 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:33:34,119 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:33:34,124 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,124 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,130 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,131 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,145 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,151 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,153 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... [2018-11-22 22:33:34,156 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:33:34,156 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:33:34,156 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:33:34,156 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:33:34,157 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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-22 22:33:34,187 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-22 22:33:34,187 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-22 22:33:34,187 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:33:34,187 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:33:34,187 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 22:33:34,187 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 22:33:34,188 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 22:33:34,188 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 22:33:34,188 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:33:34,188 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:33:34,188 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-22 22:33:34,188 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:33:34,188 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 22:33:34,188 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 22:33:34,189 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 22:33:34,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:33:34,189 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:33:34,189 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 22:33:34,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:33:34,539 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:34,737 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:34,814 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:34,835 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:36,086 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:36,097 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:36,156 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:36,173 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:40,812 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:33:51,988 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:33:51,988 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 22:33:51,989 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:51 BoogieIcfgContainer [2018-11-22 22:33:51,989 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:33:51,990 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:33:51,990 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:33:51,993 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:33:51,993 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:33:33" (1/3) ... [2018-11-22 22:33:51,993 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@569291d9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:33:51, skipping insertion in model container [2018-11-22 22:33:51,994 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:34" (2/3) ... [2018-11-22 22:33:51,994 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@569291d9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:33:51, skipping insertion in model container [2018-11-22 22:33:51,994 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:51" (3/3) ... [2018-11-22 22:33:51,995 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0662b_true-unreach-call.c [2018-11-22 22:33:52,004 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:33:52,010 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:33:52,022 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:33:52,043 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:33:52,043 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:33:52,044 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:33:52,044 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:33:52,044 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:33:52,044 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:33:52,044 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:33:52,044 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:33:52,044 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:33:52,054 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-22 22:33:52,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-22 22:33:52,057 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:33:52,058 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:33:52,059 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:33:52,062 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:33:52,062 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-22 22:33:52,065 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:33:52,065 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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-22 22:33:52,069 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:33:52,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:33:52,277 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:33:52,289 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-22 22:33:52,289 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:33:52,300 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:33:52,300 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:33:52,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:33:52,310 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:33:52,310 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:33:52,312 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-22 22:33:52,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:33:52,335 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-22 22:33:52,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:33:52,336 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-22 22:33:52,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:33:52,345 INFO L225 Difference]: With dead ends: 197 [2018-11-22 22:33:52,346 INFO L226 Difference]: Without dead ends: 98 [2018-11-22 22:33:52,349 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:33:52,363 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-22 22:33:52,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-22 22:33:52,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-22 22:33:52,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-22 22:33:52,383 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-22 22:33:52,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:33:52,383 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-22 22:33:52,383 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:33:52,383 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-22 22:33:52,384 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-22 22:33:52,384 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:33:52,384 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:33:52,384 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:33:52,384 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:33:52,384 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-22 22:33:52,385 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:33:52,385 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/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-22 22:33:52,387 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:33:52,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:33:52,884 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:33:52,989 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:33:52,989 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:33:52,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-22 22:33:53,045 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:33:53,051 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-22 22:33:53,052 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,085 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-22 22:33:53,096 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-22 22:33:53,097 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,115 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,127 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,151 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:33:53,151 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-22 22:33:53,244 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:33:53,245 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:33:53,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-22 22:33:53,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 35 [2018-11-22 22:33:53,308 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,334 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 27 [2018-11-22 22:33:53,354 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 9 [2018-11-22 22:33:53,354 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,369 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,385 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:33:53,408 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-22 22:33:53,409 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:72, output treesize:33 [2018-11-22 22:33:53,708 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-22 22:33:53,708 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:33:53,724 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:33:53,724 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-22 22:33:53,725 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-22 22:33:53,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-22 22:33:53,726 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-11-22 22:33:53,726 INFO L87 Difference]: Start difference. First operand 98 states and 137 transitions. Second operand 10 states. [2018-11-22 22:33:54,128 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-22 22:33:55,306 WARN L180 SmtUtils]: Spent 212.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2018-11-22 22:34:02,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:34:02,231 INFO L93 Difference]: Finished difference Result 123 states and 171 transitions. [2018-11-22 22:34:02,232 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-22 22:34:02,232 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 21 [2018-11-22 22:34:02,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:34:02,233 INFO L225 Difference]: With dead ends: 123 [2018-11-22 22:34:02,233 INFO L226 Difference]: Without dead ends: 87 [2018-11-22 22:34:02,234 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-22 22:34:02,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-22 22:34:02,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2018-11-22 22:34:02,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-22 22:34:02,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 115 transitions. [2018-11-22 22:34:02,244 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 115 transitions. Word has length 21 [2018-11-22 22:34:02,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:34:02,245 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 115 transitions. [2018-11-22 22:34:02,245 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-22 22:34:02,245 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 115 transitions. [2018-11-22 22:34:02,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-22 22:34:02,246 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:34:02,246 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:34:02,246 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:34:02,246 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:34:02,247 INFO L82 PathProgramCache]: Analyzing trace with hash -322982793, now seen corresponding path program 1 times [2018-11-22 22:34:02,247 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:34:02,247 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-22 22:34:02,250 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:34:02,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:02,558 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:34:02,584 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:02,584 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:02,585 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-22 22:34:02,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 43 [2018-11-22 22:34:02,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 9 [2018-11-22 22:34:02,674 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:34:02,690 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:34:02,702 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-22 22:34:02,706 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-22 22:34:02,706 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-22 22:34:02,708 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:34:02,712 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:34:02,720 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:34:02,721 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:57, output treesize:18 [2018-11-22 22:34:02,803 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-22 22:34:02,804 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:34:02,813 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:34:02,814 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:34:02,814 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:34:02,814 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:34:02,814 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:34:02,814 INFO L87 Difference]: Start difference. First operand 87 states and 115 transitions. Second operand 7 states. [2018-11-22 22:34:05,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:34:05,366 INFO L93 Difference]: Finished difference Result 118 states and 157 transitions. [2018-11-22 22:34:05,367 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:34:05,367 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-22 22:34:05,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:34:05,368 INFO L225 Difference]: With dead ends: 118 [2018-11-22 22:34:05,368 INFO L226 Difference]: Without dead ends: 81 [2018-11-22 22:34:05,368 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-22 22:34:05,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-22 22:34:05,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-22 22:34:05,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-22 22:34:05,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 104 transitions. [2018-11-22 22:34:05,377 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 104 transitions. Word has length 26 [2018-11-22 22:34:05,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:34:05,377 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 104 transitions. [2018-11-22 22:34:05,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:34:05,378 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 104 transitions. [2018-11-22 22:34:05,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-22 22:34:05,378 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:34:05,379 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:34:05,379 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:34:05,379 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:34:05,379 INFO L82 PathProgramCache]: Analyzing trace with hash -442139595, now seen corresponding path program 1 times [2018-11-22 22:34:05,380 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:34:05,380 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-22 22:34:05,392 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:34:05,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:05,607 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:34:06,167 WARN L180 SmtUtils]: Spent 433.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:06,590 WARN L180 SmtUtils]: Spent 315.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:06,844 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-22 22:34:07,201 WARN L180 SmtUtils]: Spent 229.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-22 22:34:07,205 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-22 22:34:07,205 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:34:07,215 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:34:07,215 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:34:07,215 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:34:07,215 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:34:07,215 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:34:07,215 INFO L87 Difference]: Start difference. First operand 81 states and 104 transitions. Second operand 7 states. [2018-11-22 22:34:08,723 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:20,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:34:20,437 INFO L93 Difference]: Finished difference Result 88 states and 110 transitions. [2018-11-22 22:34:20,438 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:34:20,438 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-22 22:34:20,438 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:34:20,438 INFO L225 Difference]: With dead ends: 88 [2018-11-22 22:34:20,439 INFO L226 Difference]: Without dead ends: 81 [2018-11-22 22:34:20,439 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:34:20,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-22 22:34:20,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-22 22:34:20,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-22 22:34:20,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 103 transitions. [2018-11-22 22:34:20,463 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 103 transitions. Word has length 26 [2018-11-22 22:34:20,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:34:20,463 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 103 transitions. [2018-11-22 22:34:20,463 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:34:20,463 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 103 transitions. [2018-11-22 22:34:20,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-22 22:34:20,464 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:34:20,464 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:34:20,464 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:34:20,464 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:34:20,464 INFO L82 PathProgramCache]: Analyzing trace with hash 1332867767, now seen corresponding path program 1 times [2018-11-22 22:34:20,465 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:34:20,465 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-22 22:34:20,473 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:34:20,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:20,814 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:34:20,846 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:20,850 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:20,851 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-22 22:34:20,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-22 22:34:20,900 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:34:20,911 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-22 22:34:20,915 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-22 22:34:20,916 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:34:20,918 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:34:20,920 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:34:20,926 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:34:20,926 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:34:20,980 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-22 22:34:20,980 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:34:20,992 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:34:20,992 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-22 22:34:20,992 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-22 22:34:20,992 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-22 22:34:20,992 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-22 22:34:20,993 INFO L87 Difference]: Start difference. First operand 81 states and 103 transitions. Second operand 6 states. [2018-11-22 22:34:24,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:34:24,697 INFO L93 Difference]: Finished difference Result 88 states and 109 transitions. [2018-11-22 22:34:24,697 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-22 22:34:24,697 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-22 22:34:24,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:34:24,698 INFO L225 Difference]: With dead ends: 88 [2018-11-22 22:34:24,698 INFO L226 Difference]: Without dead ends: 79 [2018-11-22 22:34:24,699 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2018-11-22 22:34:24,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-22 22:34:24,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 79. [2018-11-22 22:34:24,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-22 22:34:24,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 99 transitions. [2018-11-22 22:34:24,708 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 99 transitions. Word has length 26 [2018-11-22 22:34:24,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:34:24,708 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 99 transitions. [2018-11-22 22:34:24,709 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-22 22:34:24,709 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 99 transitions. [2018-11-22 22:34:24,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-22 22:34:24,709 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:34:24,709 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:34:24,709 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:34:24,710 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:34:24,710 INFO L82 PathProgramCache]: Analyzing trace with hash -1015228023, now seen corresponding path program 1 times [2018-11-22 22:34:24,710 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:34:24,710 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-22 22:34:24,713 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:34:24,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:24,915 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:34:25,263 WARN L180 SmtUtils]: Spent 324.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:25,646 WARN L180 SmtUtils]: Spent 205.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:25,830 WARN L180 SmtUtils]: Spent 170.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-22 22:34:26,028 WARN L180 SmtUtils]: Spent 179.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-22 22:34:26,030 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-22 22:34:26,030 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:34:26,040 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:34:26,040 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:34:26,041 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:34:26,041 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:34:26,041 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:34:26,041 INFO L87 Difference]: Start difference. First operand 79 states and 99 transitions. Second operand 7 states. [2018-11-22 22:34:31,171 WARN L180 SmtUtils]: Spent 244.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 22:34:35,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:34:35,800 INFO L93 Difference]: Finished difference Result 85 states and 104 transitions. [2018-11-22 22:34:35,801 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:34:35,801 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 28 [2018-11-22 22:34:35,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:34:35,801 INFO L225 Difference]: With dead ends: 85 [2018-11-22 22:34:35,802 INFO L226 Difference]: Without dead ends: 77 [2018-11-22 22:34:35,802 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 21 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:34:35,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-22 22:34:35,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 77. [2018-11-22 22:34:35,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-22 22:34:35,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 96 transitions. [2018-11-22 22:34:35,812 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 96 transitions. Word has length 28 [2018-11-22 22:34:35,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:34:35,812 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 96 transitions. [2018-11-22 22:34:35,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:34:35,812 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-22 22:34:35,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-22 22:34:35,813 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:34:35,813 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:34:35,813 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:34:35,813 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:34:35,813 INFO L82 PathProgramCache]: Analyzing trace with hash -1854768899, now seen corresponding path program 1 times [2018-11-22 22:34:35,814 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:34:35,814 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_1f1a0021-2d79-4af8-8074-8413c52afcf6/bin-2019/uautomizer/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2018-11-22 22:34:35,819 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:34:36,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:36,297 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:34:36,317 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,318 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,318 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,319 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,319 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,320 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:34:36,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 6 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 7 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 127 [2018-11-22 22:34:36,449 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 36 [2018-11-22 22:34:36,650 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 mathsat -unsat_core_generation=3 [2018-11-22 22:34:36,650 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_9 (_ bv0 32) ((_ extract 31 0) v_prenex_62)) 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-22 22:34:36,653 INFO L168 Benchmark]: Toolchain (without parser) took 62897.78 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 213.9 MB). Free memory was 949.2 MB in the beginning and 1.1 GB in the end (delta: -128.4 MB). Peak memory consumption was 85.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:36,653 INFO L168 Benchmark]: CDTParser took 0.15 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-22 22:34:36,654 INFO L168 Benchmark]: CACSL2BoogieTranslator took 288.41 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:36,654 INFO L168 Benchmark]: Boogie Procedure Inliner took 72.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.3 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -206.6 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:36,655 INFO L168 Benchmark]: Boogie Preprocessor took 37.51 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-22 22:34:36,655 INFO L168 Benchmark]: RCFGBuilder took 17833.14 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: 61.5 MB). Peak memory consumption was 61.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:36,655 INFO L168 Benchmark]: TraceAbstraction took 44662.29 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 66.6 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -4.8 MB). Peak memory consumption was 61.7 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:36,657 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 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 288.41 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 72.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.3 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -206.6 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 37.51 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 17833.14 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: 61.5 MB). Peak memory consumption was 61.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 44662.29 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 66.6 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -4.8 MB). Peak memory consumption was 61.7 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_9 (_ bv0 32) ((_ extract 31 0) v_prenex_62)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_62)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...