./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0663a_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_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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 3e7d0b868b35716dc1f516fc758062372899bb27 ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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 3e7d0b868b35716dc1f516fc758062372899bb27 ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_61)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 06:59:51,864 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:59:51,865 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:59:51,872 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:59:51,872 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:59:51,873 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:59:51,874 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:59:51,875 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:59:51,876 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:59:51,877 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:59:51,877 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:59:51,878 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:59:51,878 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:59:51,879 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:59:51,880 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:59:51,881 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:59:51,881 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:59:51,882 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:59:51,883 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:59:51,884 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:59:51,885 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:59:51,886 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:59:51,887 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:59:51,887 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:59:51,887 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:59:51,888 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:59:51,889 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:59:51,889 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:59:51,890 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:59:51,890 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:59:51,890 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:59:51,891 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:59:51,891 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:59:51,891 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:59:51,891 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:59:51,892 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:59:51,892 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 06:59:51,901 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:59:51,902 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:59:51,902 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:59:51,902 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:59:51,903 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:59:51,903 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:59:51,903 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:59:51,903 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:59:51,903 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:59:51,904 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:59:51,904 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:59:51,905 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:59:51,906 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:59:51,906 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:59:51,906 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:59:51,906 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:59:51,906 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:59:51,906 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:59:51,906 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:59:51,907 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:59:51,907 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:59:51,907 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:59:51,907 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:59:51,907 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:59:51,907 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_213b676a-514e-4f67-b8cf-61f91ee93b32/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 -> 3e7d0b868b35716dc1f516fc758062372899bb27 [2018-11-23 06:59:51,931 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:59:51,940 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:59:51,943 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:59:51,944 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:59:51,944 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:59:51,944 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c [2018-11-23 06:59:51,985 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/129bc5bc0/083f3e3406f1476794e1cb3610591a39/FLAG0b43411e2 [2018-11-23 06:59:52,394 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:59:52,394 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c [2018-11-23 06:59:52,400 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/129bc5bc0/083f3e3406f1476794e1cb3610591a39/FLAG0b43411e2 [2018-11-23 06:59:52,410 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/129bc5bc0/083f3e3406f1476794e1cb3610591a39 [2018-11-23 06:59:52,412 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:59:52,413 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:59:52,414 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:59:52,414 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:59:52,416 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:59:52,416 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,418 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6b425268 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52, skipping insertion in model container [2018-11-23 06:59:52,418 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,424 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:59:52,444 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:59:52,598 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:59:52,603 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:59:52,638 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:59:52,703 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:59:52,703 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52 WrapperNode [2018-11-23 06:59:52,703 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:59:52,704 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:59:52,704 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:59:52,704 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:59:52,709 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,717 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,722 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:59:52,722 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:59:52,722 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:59:52,722 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:59:52,728 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,728 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,732 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,732 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,749 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,757 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,759 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... [2018-11-23 06:59:52,762 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:59:52,762 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:59:52,763 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:59:52,763 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:59:52,763 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:59:52,798 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:59:52,798 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:59:52,798 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:59:52,798 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:59:52,798 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 06:59:52,798 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:59:52,798 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:59:52,799 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:59:52,799 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:59:52,799 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:59:52,799 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 06:59:52,799 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:59:52,799 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:59:52,799 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:59:52,799 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:59:52,799 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:59:52,800 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:59:52,800 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 06:59:52,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:59:53,200 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:59:53,201 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 06:59:53,201 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:59:53 BoogieIcfgContainer [2018-11-23 06:59:53,201 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:59:53,202 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:59:53,202 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:59:53,203 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:59:53,204 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:59:52" (1/3) ... [2018-11-23 06:59:53,204 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@484fc469 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:59:53, skipping insertion in model container [2018-11-23 06:59:53,204 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:52" (2/3) ... [2018-11-23 06:59:53,204 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@484fc469 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:59:53, skipping insertion in model container [2018-11-23 06:59:53,204 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:59:53" (3/3) ... [2018-11-23 06:59:53,206 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0663a_true-unreach-call.c [2018-11-23 06:59:53,211 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:59:53,216 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:59:53,225 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:59:53,245 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:59:53,245 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:59:53,246 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:59:53,246 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:59:53,246 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:59:53,246 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:59:53,246 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:59:53,246 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:59:53,246 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:59:53,258 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 06:59:53,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 06:59:53,263 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:59:53,264 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:59:53,266 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:59:53,269 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:59:53,269 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 06:59:53,270 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:59:53,271 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:59:53,299 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:59:53,299 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:59:53,299 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:59:53,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:59:53,380 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:59:53,382 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:59:53,383 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:59:53,386 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:59:53,395 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:59:53,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:59:53,397 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 06:59:53,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:59:53,416 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 06:59:53,416 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:59:53,417 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 06:59:53,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:59:53,426 INFO L225 Difference]: With dead ends: 197 [2018-11-23 06:59:53,426 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 06:59:53,429 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:59:53,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 06:59:53,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 06:59:53,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 06:59:53,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 06:59:53,458 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 06:59:53,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:59:53,458 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 06:59:53,458 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:59:53,459 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 06:59:53,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 06:59:53,459 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:59:53,459 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:59:53,460 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:59:53,460 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:59:53,460 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 06:59:53,460 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:59:53,460 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:59:53,461 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:59:53,461 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:59:53,461 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:59:53,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:59:53,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:59:53,559 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450971, |#NULL.offset|=6442450962, |old(#NULL.base)|=6442450971, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450973.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450968.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450953, |~#aT_atan~0.offset|=6442450960, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=6442450965, |~#atanlo_atan~0.base|=6442450948, |~#atanlo_atan~0.offset|=6442450976, ~huge_atan~0=6442450973.0, ~one_atan~0=6442450961.0, ~pi_lo_atan2~0=6442450959.0, ~pi_o_2~0=6442450945.0, ~pi_o_4~0=6442450963.0, ~pi~0=6442450968.0, ~tiny_atan2~0=6442450975.0, ~zero_atan2~0=6442450952.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450971, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450973.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450968.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450971, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450953, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450948, |old(~#atanlo_atan~0.offset)|=6442450976, |old(~huge_atan~0)|=6442450973.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450968.0, |old(~tiny_atan2~0)|=6442450975.0, |old(~zero_atan2~0)|=6442450952.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #337#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := ~someUnaryDOUBLEoperation(0.0);~y~0 := #t~nondet48;havoc #t~nondet48; VAL [main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem29;havoc #t~union30;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union32;havoc #t~mem31;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~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=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=3, __ieee754_atan2_~lx~0=6442450969, __ieee754_atan2_~ly~0=6442450949, __ieee754_atan2_~x=6442450964.0, __ieee754_atan2_~y=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450964.0, |__ieee754_atan2_#in~y|=6442450974.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #327#return; VAL [main_~x~0=6442450964.0, main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret49|=6442450967.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret49;havoc #t~ret49; VAL [main_~res~0=6442450967.0, main_~x~0=6442450964.0, main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0); VAL [main_~res~0=6442450967.0, main_~x~0=6442450964.0, main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [main_~res~0=6442450967.0, main_~x~0=6442450964.0, main_~y~0=6442450974.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450971, #NULL.offset=6442450962, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450948, ~#atanlo_atan~0.offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~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=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450971, #NULL.offset=6442450962, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450953, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450948, ~#atanlo_atan~0.offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450971, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450953, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450948, old(~#atanlo_atan~0.offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~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=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450971, #NULL!offset=6442450962, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450971, #NULL!offset=6442450962, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450971, #NULL!offset=6442450962, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] ----- [2018-11-23 06:59:53,673 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:59:53,674 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450953 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 06:59:53,674 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450948 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:59:53,675 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 06:59:53,675 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450976 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:59:53,675 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450956 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=6442450971, #NULL!offset=6442450962, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450953, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450948, ~#atanlo_atan~0!offset=6442450976, ~huge_atan~0=6.442450973E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450968E9, ~tiny_atan2~0=6.442450975E9, ~zero_atan2~0=6.442450952E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450971, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450953, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450948, old(~#atanlo_atan~0!offset)=6442450976, old(~huge_atan~0)=6.442450973E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450968E9, old(~tiny_atan2~0)=6.442450975E9, old(~zero_atan2~0)=6.442450952E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := ~someUnaryDOUBLEoperation(0.0); [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=6442450969, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=6.442450964E9, #in~y=6.442450974E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=3, ~lx~0=6442450969, ~ly~0=6442450949, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=6.442450964E9, ~y=6.442450974E9, ~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=6.442450967E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=6.442450967E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450964E9, ~y~0=6.442450974E9, ~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)=6442450973, \old(one_atan)=6442450961, \old(pi)=6442450968, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450975, \old(zero_atan2)=6442450952, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L251] double x = -0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y > 0.0 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, y=6442450974, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450969, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450969, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450969, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450967, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != pi_o_2 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450967, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450967, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] ----- [2018-11-23 06:59:53,729 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:59:53 BoogieIcfgContainer [2018-11-23 06:59:53,729 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:59:53,729 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:59:53,729 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:59:53,730 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:59:53,733 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:59:53" (3/4) ... [2018-11-23 06:59:53,736 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 06:59:53,736 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:59:53,737 INFO L168 Benchmark]: Toolchain (without parser) took 1324.10 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 102.8 MB). Free memory was 958.2 MB in the beginning and 993.9 MB in the end (delta: -35.7 MB). Peak memory consumption was 67.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,738 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:59:53,738 INFO L168 Benchmark]: CACSL2BoogieTranslator took 290.01 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 102.8 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -144.1 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,739 INFO L168 Benchmark]: Boogie Procedure Inliner took 17.97 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,739 INFO L168 Benchmark]: Boogie Preprocessor took 40.13 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,740 INFO L168 Benchmark]: RCFGBuilder took 438.64 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 46.6 MB). Peak memory consumption was 46.6 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,743 INFO L168 Benchmark]: TraceAbstraction took 527.60 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 993.9 MB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:59:53,744 INFO L168 Benchmark]: Witness Printer took 6.84 ms. Allocated memory is still 1.1 GB. Free memory is still 993.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:59:53,746 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.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 290.01 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 102.8 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -144.1 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 17.97 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 40.13 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 438.64 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 46.6 MB). Peak memory consumption was 46.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 527.60 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 993.9 MB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 11.5 GB. * Witness Printer took 6.84 ms. Allocated memory is still 1.1 GB. Free memory is still 993.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450953 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450948 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450976 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# * 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 251, 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)=6442450973, \old(one_atan)=6442450961, \old(pi)=6442450968, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450975, \old(zero_atan2)=6442450952, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L251] double x = -0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y > 0.0 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, y=6442450974, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=6442450969, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450969, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450964, \old(y)=6442450974, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=3, lx=6442450969, ly=6442450949, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450967, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != pi_o_2 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450967, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=6442450967, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450964, y=6442450974, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 143 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 40 NumberOfCodeBlocks, 40 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 06:59:55,229 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:59:55,230 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:59:55,237 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:59:55,237 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:59:55,238 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:59:55,239 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:59:55,240 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:59:55,241 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:59:55,241 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:59:55,242 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:59:55,242 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:59:55,243 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:59:55,244 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:59:55,244 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:59:55,245 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:59:55,246 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:59:55,247 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:59:55,248 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:59:55,249 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:59:55,250 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:59:55,251 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:59:55,252 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:59:55,253 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:59:55,253 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:59:55,253 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:59:55,254 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:59:55,255 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:59:55,255 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:59:55,256 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:59:55,256 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:59:55,257 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:59:55,257 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:59:55,257 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:59:55,258 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:59:55,258 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:59:55,258 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 06:59:55,269 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:59:55,269 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:59:55,269 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:59:55,270 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:59:55,270 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:59:55,270 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:59:55,270 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:59:55,270 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 06:59:55,271 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 06:59:55,272 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:59:55,272 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:59:55,272 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:59:55,272 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:59:55,272 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:59:55,272 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:59:55,273 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 06:59:55,273 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:59:55,274 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 06:59:55,274 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 06:59:55,274 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_213b676a-514e-4f67-b8cf-61f91ee93b32/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 -> 3e7d0b868b35716dc1f516fc758062372899bb27 [2018-11-23 06:59:55,302 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:59:55,310 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:59:55,312 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:59:55,313 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:59:55,313 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:59:55,314 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c [2018-11-23 06:59:55,349 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/1bac85672/cda555e6e6cc4929b13340ff0766c615/FLAGd6f47899c [2018-11-23 06:59:55,678 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:59:55,678 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/sv-benchmarks/c/float-newlib/double_req_bl_0663a_true-unreach-call.c [2018-11-23 06:59:55,683 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/1bac85672/cda555e6e6cc4929b13340ff0766c615/FLAGd6f47899c [2018-11-23 06:59:56,106 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/data/1bac85672/cda555e6e6cc4929b13340ff0766c615 [2018-11-23 06:59:56,108 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:59:56,109 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:59:56,110 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:59:56,110 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:59:56,113 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:59:56,114 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,116 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@255f79a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56, skipping insertion in model container [2018-11-23 06:59:56,116 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,124 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:59:56,147 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:59:56,307 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:59:56,314 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:59:56,362 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:59:56,384 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:59:56,384 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56 WrapperNode [2018-11-23 06:59:56,384 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:59:56,385 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:59:56,385 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:59:56,385 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:59:56,390 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,403 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,410 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:59:56,410 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:59:56,410 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:59:56,410 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:59:56,466 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,466 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,471 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,471 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,493 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,500 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,503 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... [2018-11-23 06:59:56,506 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:59:56,506 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:59:56,507 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:59:56,507 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:59:56,507 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:59:56,538 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 06:59:56,538 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 06:59:56,538 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:59:56,538 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:59:56,538 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:59:56,539 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:59:56,539 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:59:56,539 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:59:56,539 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 06:59:56,539 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:59:56,540 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:59:56,540 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 06:59:56,540 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:59:57,331 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:57,520 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:57,795 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:57,820 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:58,986 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:58,997 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:59,060 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:59:59,079 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:00:03,673 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:00:14,000 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:00:14,000 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 07:00:14,000 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:00:14 BoogieIcfgContainer [2018-11-23 07:00:14,000 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:00:14,001 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 07:00:14,001 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 07:00:14,004 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 07:00:14,004 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:59:56" (1/3) ... [2018-11-23 07:00:14,005 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a0ab7ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:00:14, skipping insertion in model container [2018-11-23 07:00:14,005 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:59:56" (2/3) ... [2018-11-23 07:00:14,005 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a0ab7ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:00:14, skipping insertion in model container [2018-11-23 07:00:14,005 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:00:14" (3/3) ... [2018-11-23 07:00:14,006 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0663a_true-unreach-call.c [2018-11-23 07:00:14,012 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 07:00:14,016 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 07:00:14,026 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 07:00:14,043 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:00:14,044 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 07:00:14,044 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 07:00:14,044 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 07:00:14,044 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:00:14,044 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:00:14,044 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 07:00:14,044 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:00:14,044 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 07:00:14,056 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 07:00:14,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:00:14,060 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:14,061 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:00:14,062 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:14,065 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:14,065 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 07:00:14,068 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:14,069 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 07:00:14,073 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:14,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:14,295 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:14,308 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:14,308 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:14,320 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:14,320 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:00:14,322 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 07:00:14,330 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 07:00:14,330 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:00:14,332 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 07:00:14,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:14,358 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 07:00:14,358 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 07:00:14,359 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 07:00:14,359 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:14,368 INFO L225 Difference]: With dead ends: 197 [2018-11-23 07:00:14,368 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 07:00:14,371 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:00:14,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 07:00:14,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 07:00:14,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 07:00:14,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 07:00:14,406 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 07:00:14,406 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:14,406 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 07:00:14,406 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 07:00:14,406 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 07:00:14,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 07:00:14,407 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:14,407 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:00:14,408 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:14,408 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:14,408 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 07:00:14,409 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:14,409 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 07:00:14,412 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:14,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:14,870 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:14,944 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:14,945 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:14,949 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-23 07:00:15,011 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:15,016 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-23 07:00:15,017 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,043 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-23 07:00:15,055 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-23 07:00:15,055 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,073 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,086 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-23 07:00:15,103 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-23 07:00:15,103 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-23 07:00:15,236 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:15,240 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:15,241 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-23 07:00:15,338 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-23 07:00:15,338 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,370 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-23 07:00:15,391 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-23 07:00:15,391 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,400 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:00:15,409 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-23 07:00:15,433 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-23 07:00:15,433 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:72, output treesize:33 [2018-11-23 07:00:15,731 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:15,732 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:15,749 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:15,749 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 07:00:15,750 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 07:00:15,750 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 07:00:15,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-11-23 07:00:15,751 INFO L87 Difference]: Start difference. First operand 98 states and 137 transitions. Second operand 10 states. [2018-11-23 07:00:17,134 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2018-11-23 07:00:23,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:23,969 INFO L93 Difference]: Finished difference Result 123 states and 171 transitions. [2018-11-23 07:00:23,970 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 07:00:23,970 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 21 [2018-11-23 07:00:23,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:23,972 INFO L225 Difference]: With dead ends: 123 [2018-11-23 07:00:23,972 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 07:00:23,973 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 07:00:23,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 07:00:23,982 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2018-11-23 07:00:23,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 07:00:23,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 115 transitions. [2018-11-23 07:00:23,984 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 115 transitions. Word has length 21 [2018-11-23 07:00:23,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:23,984 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 115 transitions. [2018-11-23 07:00:23,984 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 07:00:23,984 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 115 transitions. [2018-11-23 07:00:23,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 07:00:23,985 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:23,985 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-23 07:00:23,985 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:23,986 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:23,986 INFO L82 PathProgramCache]: Analyzing trace with hash -322982793, now seen corresponding path program 1 times [2018-11-23 07:00:23,986 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:23,986 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 07:00:23,990 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:24,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:24,311 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:24,331 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:24,332 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:24,333 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-23 07:00:24,397 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-23 07:00:24,423 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-23 07:00:24,423 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:24,446 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:00:24,464 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-23 07:00:24,472 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-23 07:00:24,472 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:24,473 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:00:24,480 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-23 07:00:24,490 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-23 07:00:24,491 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:57, output treesize:18 [2018-11-23 07:00:24,574 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:24,574 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:24,589 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:24,590 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:00:24,590 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:00:24,590 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:00:24,590 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:00:24,590 INFO L87 Difference]: Start difference. First operand 87 states and 115 transitions. Second operand 7 states. [2018-11-23 07:00:27,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:27,532 INFO L93 Difference]: Finished difference Result 118 states and 157 transitions. [2018-11-23 07:00:27,534 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:00:27,534 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 07:00:27,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:27,534 INFO L225 Difference]: With dead ends: 118 [2018-11-23 07:00:27,534 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 07:00:27,535 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-23 07:00:27,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 07:00:27,541 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 07:00:27,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 07:00:27,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 104 transitions. [2018-11-23 07:00:27,542 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 104 transitions. Word has length 26 [2018-11-23 07:00:27,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:27,542 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 104 transitions. [2018-11-23 07:00:27,542 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:00:27,542 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 104 transitions. [2018-11-23 07:00:27,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 07:00:27,542 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:27,543 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-23 07:00:27,543 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:27,543 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:27,543 INFO L82 PathProgramCache]: Analyzing trace with hash -442139595, now seen corresponding path program 1 times [2018-11-23 07:00:27,543 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:27,544 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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-23 07:00:27,546 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:27,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:27,891 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:27,911 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:27,912 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:00:27,912 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-23 07:00:27,966 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-23 07:00:27,967 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:27,979 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-23 07:00:27,984 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-23 07:00:27,984 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:00:27,987 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:00:27,989 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-23 07:00:27,998 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-23 07:00:27,998 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 07:00:28,042 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:28,043 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:28,059 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:28,059 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 07:00:28,060 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 07:00:28,060 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 07:00:28,060 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 07:00:28,060 INFO L87 Difference]: Start difference. First operand 81 states and 104 transitions. Second operand 6 states. [2018-11-23 07:00:31,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:31,913 INFO L93 Difference]: Finished difference Result 89 states and 111 transitions. [2018-11-23 07:00:31,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 07:00:31,914 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-23 07:00:31,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:31,915 INFO L225 Difference]: With dead ends: 89 [2018-11-23 07:00:31,915 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 07:00:31,916 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-23 07:00:31,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 07:00:31,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 07:00:31,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 07:00:31,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 102 transitions. [2018-11-23 07:00:31,923 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 102 transitions. Word has length 26 [2018-11-23 07:00:31,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:31,923 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 102 transitions. [2018-11-23 07:00:31,923 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 07:00:31,923 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-23 07:00:31,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 07:00:31,924 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:31,924 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-23 07:00:31,924 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:31,925 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:31,925 INFO L82 PathProgramCache]: Analyzing trace with hash 1332867767, now seen corresponding path program 1 times [2018-11-23 07:00:31,925 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:31,925 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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-23 07:00:31,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:32,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:32,184 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:32,668 WARN L180 SmtUtils]: Spent 338.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:33,059 WARN L180 SmtUtils]: Spent 307.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:33,206 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 07:00:33,474 WARN L180 SmtUtils]: Spent 185.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 07:00:33,476 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:33,476 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:33,487 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:33,487 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:00:33,487 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:00:33,487 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:00:33,487 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:00:33,488 INFO L87 Difference]: Start difference. First operand 81 states and 102 transitions. Second operand 7 states. [2018-11-23 07:00:34,925 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:35,263 WARN L180 SmtUtils]: Spent 268.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:44,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:44,492 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-23 07:00:44,493 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:00:44,493 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 07:00:44,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:44,494 INFO L225 Difference]: With dead ends: 87 [2018-11-23 07:00:44,494 INFO L226 Difference]: Without dead ends: 79 [2018-11-23 07:00:44,494 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 07:00:44,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-23 07:00:44,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 79. [2018-11-23 07:00:44,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 07:00:44,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 99 transitions. [2018-11-23 07:00:44,504 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 99 transitions. Word has length 26 [2018-11-23 07:00:44,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:44,504 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 99 transitions. [2018-11-23 07:00:44,504 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:00:44,504 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 99 transitions. [2018-11-23 07:00:44,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 07:00:44,505 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:44,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, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:00:44,505 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:44,505 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:44,505 INFO L82 PathProgramCache]: Analyzing trace with hash 759779339, now seen corresponding path program 1 times [2018-11-23 07:00:44,506 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:44,506 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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-23 07:00:44,510 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:44,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:44,720 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:44,975 WARN L180 SmtUtils]: Spent 233.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:45,469 WARN L180 SmtUtils]: Spent 244.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:45,622 WARN L180 SmtUtils]: Spent 138.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 07:00:45,884 WARN L180 SmtUtils]: Spent 203.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 07:00:45,888 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:45,888 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:45,898 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:45,899 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:00:45,899 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:00:45,899 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:00:45,899 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:00:45,899 INFO L87 Difference]: Start difference. First operand 79 states and 99 transitions. Second operand 7 states. [2018-11-23 07:00:47,957 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:48,931 WARN L180 SmtUtils]: Spent 219.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:00:53,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:00:53,925 INFO L93 Difference]: Finished difference Result 85 states and 104 transitions. [2018-11-23 07:00:53,926 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:00:53,926 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 28 [2018-11-23 07:00:53,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:00:53,926 INFO L225 Difference]: With dead ends: 85 [2018-11-23 07:00:53,926 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 07:00:53,927 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 21 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 07:00:53,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 07:00:53,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 77. [2018-11-23 07:00:53,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 07:00:53,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 96 transitions. [2018-11-23 07:00:53,934 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 96 transitions. Word has length 28 [2018-11-23 07:00:53,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:00:53,935 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 96 transitions. [2018-11-23 07:00:53,935 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:00:53,935 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-23 07:00:53,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 07:00:53,935 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:00:53,936 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-23 07:00:53,936 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:00:53,936 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:00:53,936 INFO L82 PathProgramCache]: Analyzing trace with hash -1854768899, now seen corresponding path program 1 times [2018-11-23 07:00:53,936 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:00:53,937 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/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-23 07:00:53,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:00:54,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:00:54,236 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:00:54,646 WARN L180 SmtUtils]: Spent 373.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 07:00:55,801 WARN L180 SmtUtils]: Spent 1.03 s on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 07:00:56,305 WARN L180 SmtUtils]: Spent 377.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 07:00:56,540 WARN L180 SmtUtils]: Spent 219.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 07:00:56,543 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:00:56,543 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:00:56,554 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:00:56,554 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:00:56,554 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:00:56,555 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:00:56,555 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:00:56,555 INFO L87 Difference]: Start difference. First operand 77 states and 96 transitions. Second operand 7 states. [2018-11-23 07:00:59,949 WARN L180 SmtUtils]: Spent 1.81 s on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 07:01:02,249 WARN L180 SmtUtils]: Spent 204.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 07:01:02,832 WARN L180 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 07:01:13,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:01:13,750 INFO L93 Difference]: Finished difference Result 94 states and 116 transitions. [2018-11-23 07:01:13,751 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:01:13,751 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-23 07:01:13,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:01:13,753 INFO L225 Difference]: With dead ends: 94 [2018-11-23 07:01:13,753 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 07:01:13,753 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 22 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2018-11-23 07:01:13,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 07:01:13,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2018-11-23 07:01:13,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 07:01:13,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 98 transitions. [2018-11-23 07:01:13,765 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 98 transitions. Word has length 29 [2018-11-23 07:01:13,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:01:13,766 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 98 transitions. [2018-11-23 07:01:13,766 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:01:13,766 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 98 transitions. [2018-11-23 07:01:13,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 07:01:13,766 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:01:13,766 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:01:13,766 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:01:13,766 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:01:13,766 INFO L82 PathProgramCache]: Analyzing trace with hash 89007903, now seen corresponding path program 1 times [2018-11-23 07:01:13,767 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:01:13,767 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2018-11-23 07:01:13,769 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:01:13,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:01:13,934 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:01:13,959 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:01:13,959 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:01:13,969 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:01:13,969 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 07:01:13,969 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 07:01:13,969 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 07:01:13,969 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 07:01:13,970 INFO L87 Difference]: Start difference. First operand 79 states and 98 transitions. Second operand 5 states. [2018-11-23 07:01:17,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:01:17,840 INFO L93 Difference]: Finished difference Result 100 states and 122 transitions. [2018-11-23 07:01:17,841 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 07:01:17,841 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-23 07:01:17,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:01:17,842 INFO L225 Difference]: With dead ends: 100 [2018-11-23 07:01:17,842 INFO L226 Difference]: Without dead ends: 89 [2018-11-23 07:01:17,842 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 07:01:17,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-11-23 07:01:17,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 82. [2018-11-23 07:01:17,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 07:01:17,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 101 transitions. [2018-11-23 07:01:17,849 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 101 transitions. Word has length 30 [2018-11-23 07:01:17,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:01:17,849 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 101 transitions. [2018-11-23 07:01:17,849 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 07:01:17,849 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 101 transitions. [2018-11-23 07:01:17,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 07:01:17,850 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:01:17,850 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:01:17,850 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:01:17,850 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:01:17,850 INFO L82 PathProgramCache]: Analyzing trace with hash 1404759961, now seen corresponding path program 1 times [2018-11-23 07:01:17,851 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:01:17,851 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_213b676a-514e-4f67-b8cf-61f91ee93b32/bin-2019/uautomizer/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2018-11-23 07:01:17,854 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:01:18,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:01:18,439 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:01:18,465 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:01:18,465 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:01:18,465 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:01:18,466 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:01:18,467 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 85 [2018-11-23 07:01:18,728 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 mathsat -unsat_core_generation=3 [2018-11-23 07:01:18,728 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_61)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 07:01:18,730 INFO L168 Benchmark]: Toolchain (without parser) took 82622.03 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 185.1 MB). Free memory was 949.7 MB in the beginning and 974.1 MB in the end (delta: -24.4 MB). Peak memory consumption was 160.7 MB. Max. memory is 11.5 GB. [2018-11-23 07:01:18,731 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:01:18,731 INFO L168 Benchmark]: CACSL2BoogieTranslator took 274.74 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:01:18,731 INFO L168 Benchmark]: Boogie Procedure Inliner took 24.78 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:01:18,732 INFO L168 Benchmark]: Boogie Preprocessor took 96.32 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 113.2 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -172.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. [2018-11-23 07:01:18,732 INFO L168 Benchmark]: RCFGBuilder took 17494.05 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 61.1 MB). Peak memory consumption was 61.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:01:18,732 INFO L168 Benchmark]: TraceAbstraction took 64729.02 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 71.8 MB). Free memory was 1.0 GB in the beginning and 974.1 MB in the end (delta: 65.1 MB). Peak memory consumption was 137.0 MB. Max. memory is 11.5 GB. [2018-11-23 07:01:18,734 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 274.74 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 24.78 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 96.32 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 113.2 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -172.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 17494.05 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 61.1 MB). Peak memory consumption was 61.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 64729.02 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 71.8 MB). Free memory was 1.0 GB in the beginning and 974.1 MB in the end (delta: 65.1 MB). Peak memory consumption was 137.0 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_61)) 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_61)): 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...