./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.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_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 7fd08b3e226d625ffd75458b50e3f94c29ac1e83 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 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_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 7fd08b3e226d625ffd75458b50e3f94c29ac1e83 ........................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 15:05:02,615 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 15:05:02,617 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 15:05:02,624 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 15:05:02,624 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 15:05:02,625 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 15:05:02,626 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 15:05:02,627 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 15:05:02,628 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 15:05:02,629 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 15:05:02,629 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 15:05:02,629 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 15:05:02,630 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 15:05:02,631 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 15:05:02,631 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 15:05:02,632 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 15:05:02,633 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 15:05:02,634 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 15:05:02,635 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 15:05:02,636 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 15:05:02,637 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 15:05:02,638 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 15:05:02,639 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 15:05:02,640 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 15:05:02,640 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 15:05:02,640 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 15:05:02,641 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 15:05:02,642 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 15:05:02,642 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 15:05:02,643 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 15:05:02,643 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 15:05:02,644 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 15:05:02,644 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 15:05:02,644 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 15:05:02,645 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 15:05:02,645 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 15:05:02,645 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 15:05:02,655 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 15:05:02,655 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 15:05:02,656 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 15:05:02,656 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 15:05:02,657 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 15:05:02,657 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 15:05:02,657 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 15:05:02,657 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 15:05:02,657 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 15:05:02,657 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 15:05:02,658 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 15:05:02,659 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 15:05:02,659 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 15:05:02,659 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 15:05:02,659 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 15:05:02,659 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 15:05:02,659 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 15:05:02,660 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 15:05:02,660 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 15:05:02,661 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_6690c45b-c1fd-4fad-a36d-9807b81994da/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 -> 7fd08b3e226d625ffd75458b50e3f94c29ac1e83 [2018-11-23 15:05:02,684 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 15:05:02,693 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 15:05:02,695 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 15:05:02,696 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 15:05:02,696 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 15:05:02,697 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:02,739 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/a4d7e2dd6/53c1b6a675bf445da42946476abd840d/FLAGf0b125c72 [2018-11-23 15:05:03,132 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 15:05:03,132 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:03,137 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/a4d7e2dd6/53c1b6a675bf445da42946476abd840d/FLAGf0b125c72 [2018-11-23 15:05:03,149 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/a4d7e2dd6/53c1b6a675bf445da42946476abd840d [2018-11-23 15:05:03,151 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 15:05:03,152 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 15:05:03,152 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 15:05:03,153 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 15:05:03,155 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 15:05:03,156 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,158 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@651809fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03, skipping insertion in model container [2018-11-23 15:05:03,158 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,164 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 15:05:03,177 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 15:05:03,282 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:05:03,286 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 15:05:03,297 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:05:03,305 INFO L195 MainTranslator]: Completed translation [2018-11-23 15:05:03,305 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03 WrapperNode [2018-11-23 15:05:03,306 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 15:05:03,306 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 15:05:03,306 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 15:05:03,306 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 15:05:03,313 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,319 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,325 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 15:05:03,325 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 15:05:03,325 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 15:05:03,325 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 15:05:03,333 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,333 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,334 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,334 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,338 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,377 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,378 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... [2018-11-23 15:05:03,379 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 15:05:03,380 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 15:05:03,380 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 15:05:03,380 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 15:05:03,380 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 15:05:03,414 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 15:05:03,415 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 15:05:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure y [2018-11-23 15:05:03,415 INFO L138 BoogieDeclarations]: Found implementation of procedure y [2018-11-23 15:05:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 15:05:03,415 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 15:05:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 15:05:03,415 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 15:05:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 15:05:03,416 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 15:05:03,539 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 15:05:03,539 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 15:05:03,539 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:05:03 BoogieIcfgContainer [2018-11-23 15:05:03,539 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 15:05:03,540 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 15:05:03,540 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 15:05:03,542 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 15:05:03,543 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 03:05:03" (1/3) ... [2018-11-23 15:05:03,543 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@684de978 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:05:03, skipping insertion in model container [2018-11-23 15:05:03,544 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:03" (2/3) ... [2018-11-23 15:05:03,544 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@684de978 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:05:03, skipping insertion in model container [2018-11-23 15:05:03,544 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:05:03" (3/3) ... [2018-11-23 15:05:03,545 INFO L112 eAbstractionObserver]: Analyzing ICFG water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:03,554 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 15:05:03,560 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 15:05:03,575 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 15:05:03,601 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 15:05:03,601 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 15:05:03,601 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 15:05:03,601 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 15:05:03,602 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 15:05:03,602 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 15:05:03,602 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 15:05:03,602 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 15:05:03,602 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 15:05:03,617 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 15:05:03,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 15:05:03,622 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:05:03,623 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 15:05:03,624 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:05:03,629 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:05:03,629 INFO L82 PathProgramCache]: Analyzing trace with hash 1227502395, now seen corresponding path program 1 times [2018-11-23 15:05:03,631 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 15:05:03,631 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 15:05:03,673 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:05:03,673 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:05:03,673 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:05:03,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 15:05:03,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 15:05:03,743 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|old(~ui~0)|=9.0, |old(~yn~0)|=4.0, ~ui~0=9.0, ~yn~0=4.0] [?] ~yn~0 := ~convertINTToDOUBLE(0);~ui~0 := ~convertINTToDOUBLE(0); VAL [|old(~ui~0)|=9.0, |old(~yn~0)|=4.0] [?] assume true; VAL [|old(~ui~0)|=9.0, |old(~yn~0)|=4.0] [?] RET #40#return; [?] CALL call #t~ret3 := main(); VAL [|old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=8.0] [?] havoc ~yi~0;havoc ~yc~0;havoc ~K~0;havoc ~T~0;havoc ~taui~0;havoc ~taud~0;havoc ~ei~0;havoc ~sumej~0;havoc ~epi~0;havoc ~i~0;~T~0 := ~convertINTToDOUBLE(1);~taui~0 := ~convertINTToDOUBLE(1);~taud~0 := ~convertINTToDOUBLE(1);~K~0 := 0.5;~yc~0 := 0.5; VAL [main_~K~0=(/ 1.0 2.0), main_~yc~0=(/ 1.0 2.0), |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=8.0] [?] CALL call #t~ret0 := y(0); VAL [|old(~ui~0)|=2.0, |old(~yn~0)|=8.0, |y_#in~i|=0, ~ui~0=2.0, ~yn~0=8.0] [?] ~i := #in~i;~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0);#res := ~yn~0; VAL [y_~i=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, |y_#in~i|=0, |y_#res|=6.0, ~ui~0=2.0, ~yn~0=6.0] [?] assume true; VAL [y_~i=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, |y_#in~i|=0, |y_#res|=6.0, ~ui~0=2.0, ~yn~0=6.0] [?] RET #44#return; VAL [main_~K~0=(/ 1.0 2.0), main_~yc~0=(/ 1.0 2.0), |main_#t~ret0|=6.0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=6.0] [?] ~yi~0 := #t~ret0;havoc #t~ret0;~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0);~sumej~0 := ~epi~0;~i~0 := 0; VAL [main_~epi~0=7.0, main_~i~0=0, main_~K~0=(/ 1.0 2.0), main_~sumej~0=7.0, main_~yc~0=(/ 1.0 2.0), main_~yi~0=6.0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=6.0] [?] assume !!(~i~0 < 120); VAL [main_~epi~0=7.0, main_~i~0=0, main_~K~0=(/ 1.0 2.0), main_~sumej~0=7.0, main_~yc~0=(/ 1.0 2.0), main_~yi~0=6.0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=6.0] [?] CALL call #t~ret2 := y(~i~0); VAL [|old(~ui~0)|=2.0, |old(~yn~0)|=6.0, |y_#in~i|=0, ~ui~0=2.0, ~yn~0=6.0] [?] ~i := #in~i;~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0);#res := ~yn~0; VAL [y_~i=0, |old(~ui~0)|=2.0, |old(~yn~0)|=6.0, |y_#in~i|=0, |y_#res|=3.0, ~ui~0=2.0, ~yn~0=3.0] [?] assume true; VAL [y_~i=0, |old(~ui~0)|=2.0, |old(~yn~0)|=6.0, |y_#in~i|=0, |y_#res|=3.0, ~ui~0=2.0, ~yn~0=3.0] [?] RET #46#return; VAL [main_~epi~0=7.0, main_~i~0=0, main_~K~0=(/ 1.0 2.0), main_~sumej~0=7.0, main_~yc~0=(/ 1.0 2.0), main_~yi~0=6.0, |main_#t~ret2|=3.0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~ui~0=2.0, ~yn~0=3.0] [?] ~yi~0 := #t~ret2;havoc #t~ret2;~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0);~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0);~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0))));~epi~0 := ~ei~0; VAL [main_~ei~0=5.0, main_~epi~0=5.0, main_~i~0=0, main_~K~0=(/ 1.0 2.0), main_~yc~0=(/ 1.0 2.0), main_~yi~0=3.0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~yn~0=3.0] [?] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [|__VERIFIER_assert_#in~cond|=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~yn~0=3.0] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~yn~0=3.0] [?] assume 0 == ~cond; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~yn~0=3.0] [?] assume !false; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0, |old(~ui~0)|=2.0, |old(~yn~0)|=8.0, ~yn~0=3.0] [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] ensures true; VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ensures true; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] assume !!(~i~0 < 120); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L14-L18] ensures true; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assume 0 == ~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] ensures true; VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ensures true; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] assume !!(~i~0 < 120); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L14-L18] ensures true; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assume 0 == ~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] COND FALSE !(!(~i~0 < 120)) VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] COND FALSE !(!(~i~0 < 120)) VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] COND FALSE !(!(~i~0 < 120)) VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0, ~ui~0=9.0, ~yn~0=4.0] [L10] ~yn~0 := ~convertINTToDOUBLE(0); [L12] ~ui~0 := ~convertINTToDOUBLE(0); VAL [old(~ui~0)=9.0, old(~yn~0)=4.0] [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L22] havoc ~yi~0; [L22] havoc ~yc~0; [L23] havoc ~K~0; [L24] havoc ~T~0; [L25] havoc ~taui~0; [L26] havoc ~taud~0; [L27] havoc ~ei~0; [L27] havoc ~sumej~0; [L27] havoc ~epi~0; [L28] havoc ~i~0; [L29] ~T~0 := ~convertINTToDOUBLE(1); [L30] ~taui~0 := ~convertINTToDOUBLE(1); [L31] ~taud~0 := ~convertINTToDOUBLE(1); [L32] ~K~0 := 0.5; [L33] ~yc~0 := 0.5; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=8.0] [L34] CALL call #t~ret0 := y(0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~ui~0=2.0, ~yn~0=8.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~i=0, ~ui~0=2.0, ~yn~0=6.0] [L34] RET call #t~ret0 := y(0); VAL [#t~ret0=6.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~K~0=1/2, ~ui~0=2.0, ~yc~0=1/2, ~yn~0=6.0] [L34] ~yi~0 := #t~ret0; [L34] havoc #t~ret0; [L35] ~epi~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L36] ~sumej~0 := ~epi~0; [L37] ~i~0 := 0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L37-L45] COND FALSE !(!(~i~0 < 120)) VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=6.0] [L38] CALL call #t~ret2 := y(~i~0); VAL [#in~i=0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~ui~0=2.0, ~yn~0=6.0] [L14-L18] ~i := #in~i; [L16] ~yn~0 := ~someBinaryArithmeticDOUBLEoperation(~yn~0, ~ui~0); [L17] #res := ~yn~0; VAL [#in~i=0, #res=3.0, old(~ui~0)=2.0, old(~yn~0)=6.0, ~i=0, ~ui~0=2.0, ~yn~0=3.0] [L38] RET call #t~ret2 := y(~i~0); VAL [#t~ret2=3.0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~epi~0=7.0, ~i~0=0, ~K~0=1/2, ~sumej~0=7.0, ~ui~0=2.0, ~yc~0=1/2, ~yi~0=6.0, ~yn~0=3.0] [L38] ~yi~0 := #t~ret2; [L38] havoc #t~ret2; [L39] ~ei~0 := ~someBinaryArithmeticDOUBLEoperation(~yc~0, ~yi~0); [L40] ~sumej~0 := ~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~ei~0); [L41] ~ui~0 := ~someBinaryArithmeticDOUBLEoperation(~K~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~ei~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~sumej~0, ~T~0), ~taui~0)), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~taud~0, ~T~0), ~someBinaryArithmeticDOUBLEoperation(~ei~0, ~epi~0)))); [L42] ~epi~0 := ~ei~0; VAL [old(~ui~0)=2.0, old(~yn~0)=8.0, ~ei~0=5.0, ~epi~0=5.0, ~i~0=0, ~K~0=1/2, ~yc~0=1/2, ~yi~0=3.0, ~yn~0=3.0] [L44] CALL call __VERIFIER_assert((if ~someBinaryDOUBLEComparisonOperation(~epi~0, ~someUnaryDOUBLEoperation(1.0)) && ~someBinaryDOUBLEComparisonOperation(~epi~0, 1.0) then 1 else 0)); VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~yn~0=3.0] [L6] ~cond := #in~cond; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L6] assert false; VAL [#in~cond=0, old(~ui~0)=2.0, old(~yn~0)=8.0, ~cond=0, ~yn~0=3.0] [L10] static NUM yn = 0; [L12] NUM ui = 0; VAL [\old(ui)=9, \old(yn)=4] [L22] NUM yi, yc; [L23] NUM K; [L24] NUM T; [L25] NUM taui; [L26] NUM taud; [L27] NUM ei, sumej, epi; [L28] int i; [L29] T = 1 [L30] taui = 1 [L31] taud = 1 [L32] K = .5 [L33] yc = .5 VAL [\old(ui)=2, \old(yn)=8, K=1/2, ui=2, yc=1/2, yn=8] [L34] CALL, EXPR y(0) VAL [\old(i)=0, \old(ui)=2, \old(yn)=8, ui=2, yn=8] [L16] yn += ui [L17] return yn; VAL [\old(i)=0, \old(ui)=2, \old(yn)=8, \result=6, i=0, ui=2, yn=6] [L34] RET, EXPR y(0) VAL [\old(ui)=2, \old(yn)=8, K=1/2, ui=2, y(0)=6, yc=1/2, yn=6] [L34] yi = y(0) [L35] epi = yc-yi [L36] sumej = epi [L37] i=0 VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, yc=1/2, yi=6, yn=6] [L37] COND TRUE i<120 VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, yc=1/2, yi=6, yn=6] [L38] CALL, EXPR y(i) VAL [\old(i)=0, \old(ui)=2, \old(yn)=6, ui=2, yn=6] [L16] yn += ui [L17] return yn; VAL [\old(i)=0, \old(ui)=2, \old(yn)=6, \result=3, i=0, ui=2, yn=3] [L38] RET, EXPR y(i) VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, y(i)=3, yc=1/2, yi=6, yn=3] [L38] yi = y(i) [L39] ei = yc-yi [L40] sumej = sumej+ei [L41] ui = K*(ei+sumej*T/taui+taud/T*(ei-epi)) [L42] epi = ei VAL [\old(ui)=2, \old(yn)=8, ei=5, epi=5, i=0, K=1/2, yc=1/2, yi=3, yn=3] [L44] CALL __VERIFIER_assert(epi >= -1. && epi <= 1.) VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, yn=3] [L6] COND TRUE !(cond) VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, cond=0, yn=3] [L6] __VERIFIER_error() VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, cond=0, yn=3] ----- [2018-11-23 15:05:03,784 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 03:05:03 BoogieIcfgContainer [2018-11-23 15:05:03,784 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 15:05:03,785 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 15:05:03,785 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 15:05:03,785 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 15:05:03,785 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:05:03" (3/4) ... [2018-11-23 15:05:03,788 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 15:05:03,789 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 15:05:03,789 INFO L168 Benchmark]: Toolchain (without parser) took 637.70 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 960.3 MB in the beginning and 1.1 GB in the end (delta: -153.5 MB). Peak memory consumption was 1.7 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,791 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:05:03,791 INFO L168 Benchmark]: CACSL2BoogieTranslator took 153.29 ms. Allocated memory is still 1.0 GB. Free memory was 960.3 MB in the beginning and 949.6 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,792 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.85 ms. Allocated memory is still 1.0 GB. Free memory was 949.6 MB in the beginning and 946.9 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,792 INFO L168 Benchmark]: Boogie Preprocessor took 54.41 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 946.9 MB in the beginning and 1.1 GB in the end (delta: -203.0 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,793 INFO L168 Benchmark]: RCFGBuilder took 159.78 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 14.6 MB). Peak memory consumption was 14.6 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,794 INFO L168 Benchmark]: TraceAbstraction took 244.69 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 15:05:03,794 INFO L168 Benchmark]: Witness Printer took 3.89 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:05:03,798 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 153.29 ms. Allocated memory is still 1.0 GB. Free memory was 960.3 MB in the beginning and 949.6 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 18.85 ms. Allocated memory is still 1.0 GB. Free memory was 949.6 MB in the beginning and 946.9 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 54.41 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 946.9 MB in the beginning and 1.1 GB in the end (delta: -203.0 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 159.78 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 14.6 MB). Peak memory consumption was 14.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 244.69 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Witness Printer took 3.89 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 6]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of to_real at line 29, overapproximation of someBinaryArithmeticDOUBLEoperation at line 39. Possible FailurePath: [L10] static NUM yn = 0; [L12] NUM ui = 0; VAL [\old(ui)=9, \old(yn)=4] [L22] NUM yi, yc; [L23] NUM K; [L24] NUM T; [L25] NUM taui; [L26] NUM taud; [L27] NUM ei, sumej, epi; [L28] int i; [L29] T = 1 [L30] taui = 1 [L31] taud = 1 [L32] K = .5 [L33] yc = .5 VAL [\old(ui)=2, \old(yn)=8, K=1/2, ui=2, yc=1/2, yn=8] [L34] CALL, EXPR y(0) VAL [\old(i)=0, \old(ui)=2, \old(yn)=8, ui=2, yn=8] [L16] yn += ui [L17] return yn; VAL [\old(i)=0, \old(ui)=2, \old(yn)=8, \result=6, i=0, ui=2, yn=6] [L34] RET, EXPR y(0) VAL [\old(ui)=2, \old(yn)=8, K=1/2, ui=2, y(0)=6, yc=1/2, yn=6] [L34] yi = y(0) [L35] epi = yc-yi [L36] sumej = epi [L37] i=0 VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, yc=1/2, yi=6, yn=6] [L37] COND TRUE i<120 VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, yc=1/2, yi=6, yn=6] [L38] CALL, EXPR y(i) VAL [\old(i)=0, \old(ui)=2, \old(yn)=6, ui=2, yn=6] [L16] yn += ui [L17] return yn; VAL [\old(i)=0, \old(ui)=2, \old(yn)=6, \result=3, i=0, ui=2, yn=3] [L38] RET, EXPR y(i) VAL [\old(ui)=2, \old(yn)=8, epi=7, i=0, K=1/2, sumej=7, ui=2, y(i)=3, yc=1/2, yi=6, yn=3] [L38] yi = y(i) [L39] ei = yc-yi [L40] sumej = sumej+ei [L41] ui = K*(ei+sumej*T/taui+taud/T*(ei-epi)) [L42] epi = ei VAL [\old(ui)=2, \old(yn)=8, ei=5, epi=5, i=0, K=1/2, yc=1/2, yi=3, yn=3] [L44] CALL __VERIFIER_assert(epi >= -1. && epi <= 1.) VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, yn=3] [L6] COND TRUE !(cond) VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, cond=0, yn=3] [L6] __VERIFIER_error() VAL [\old(cond)=0, \old(ui)=2, \old(yn)=8, cond=0, yn=3] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 27 locations, 1 error locations. UNSAFE Result, 0.1s OverallTime, 1 OverallIterations, 2 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=27occurred 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 21 NumberOfCodeBlocks, 21 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 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 15:05:05,192 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 15:05:05,193 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 15:05:05,201 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 15:05:05,202 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 15:05:05,202 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 15:05:05,203 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 15:05:05,204 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 15:05:05,205 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 15:05:05,206 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 15:05:05,206 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 15:05:05,207 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 15:05:05,207 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 15:05:05,208 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 15:05:05,208 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 15:05:05,210 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 15:05:05,210 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 15:05:05,211 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 15:05:05,212 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 15:05:05,214 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 15:05:05,214 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 15:05:05,215 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 15:05:05,217 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 15:05:05,217 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 15:05:05,217 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 15:05:05,218 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 15:05:05,219 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 15:05:05,219 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 15:05:05,220 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 15:05:05,221 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 15:05:05,221 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 15:05:05,221 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 15:05:05,222 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 15:05:05,222 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 15:05:05,222 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 15:05:05,223 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 15:05:05,223 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 15:05:05,232 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 15:05:05,232 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 15:05:05,233 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 15:05:05,233 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 15:05:05,234 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 15:05:05,234 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 15:05:05,234 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 15:05:05,234 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 15:05:05,234 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 15:05:05,234 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 15:05:05,235 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 15:05:05,236 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 15:05:05,236 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 15:05:05,236 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 15:05:05,238 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 15:05:05,239 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 15:05:05,239 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 15:05:05,239 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 15:05:05,239 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 15:05:05,239 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 15:05:05,239 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_6690c45b-c1fd-4fad-a36d-9807b81994da/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 -> 7fd08b3e226d625ffd75458b50e3f94c29ac1e83 [2018-11-23 15:05:05,267 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 15:05:05,276 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 15:05:05,278 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 15:05:05,280 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 15:05:05,280 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 15:05:05,280 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:05,321 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/f93e981c3/9559af3dca52428e9af027346c9ac926/FLAG0fa8df3f5 [2018-11-23 15:05:05,707 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 15:05:05,707 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:05,711 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/f93e981c3/9559af3dca52428e9af027346c9ac926/FLAG0fa8df3f5 [2018-11-23 15:05:05,720 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/bin-2019/uautomizer/data/f93e981c3/9559af3dca52428e9af027346c9ac926 [2018-11-23 15:05:05,722 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 15:05:05,723 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 15:05:05,724 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 15:05:05,724 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 15:05:05,727 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 15:05:05,728 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,729 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69196480 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05, skipping insertion in model container [2018-11-23 15:05:05,730 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,736 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 15:05:05,751 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 15:05:05,876 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:05:05,880 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 15:05:05,893 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:05:05,903 INFO L195 MainTranslator]: Completed translation [2018-11-23 15:05:05,903 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05 WrapperNode [2018-11-23 15:05:05,903 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 15:05:05,904 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 15:05:05,904 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 15:05:05,904 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 15:05:05,909 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,913 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,917 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 15:05:05,918 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 15:05:05,918 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 15:05:05,918 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 15:05:05,923 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,923 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,924 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,925 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,931 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,934 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,935 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... [2018-11-23 15:05:05,937 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 15:05:05,937 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 15:05:05,937 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 15:05:05,937 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 15:05:05,938 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 15:05:06,008 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 15:05:06,008 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 15:05:06,008 INFO L130 BoogieDeclarations]: Found specification of procedure y [2018-11-23 15:05:06,009 INFO L138 BoogieDeclarations]: Found implementation of procedure y [2018-11-23 15:05:06,009 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 15:05:06,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 15:05:06,009 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 15:05:06,009 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 15:05:06,009 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 15:05:06,009 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 15:05:08,851 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 15:05:08,851 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 15:05:08,851 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:05:08 BoogieIcfgContainer [2018-11-23 15:05:08,851 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 15:05:08,852 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 15:05:08,852 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 15:05:08,855 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 15:05:08,855 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 03:05:05" (1/3) ... [2018-11-23 15:05:08,856 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f3a3231 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:05:08, skipping insertion in model container [2018-11-23 15:05:08,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:05:05" (2/3) ... [2018-11-23 15:05:08,856 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f3a3231 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:05:08, skipping insertion in model container [2018-11-23 15:05:08,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:05:08" (3/3) ... [2018-11-23 15:05:08,858 INFO L112 eAbstractionObserver]: Analyzing ICFG water_pid_true-unreach-call_true-termination.c [2018-11-23 15:05:08,865 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 15:05:08,871 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 15:05:08,884 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 15:05:08,904 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 15:05:08,904 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 15:05:08,904 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 15:05:08,905 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 15:05:08,905 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 15:05:08,905 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 15:05:08,905 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 15:05:08,905 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 15:05:08,905 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 15:05:08,915 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 15:05:08,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 15:05:08,918 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:05:08,919 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 15:05:08,920 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:05:08,923 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:05:08,923 INFO L82 PathProgramCache]: Analyzing trace with hash 1227502395, now seen corresponding path program 1 times [2018-11-23 15:05:08,926 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 15:05:08,926 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 15:05:08,930 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:05:11,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:05:11,901 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 15:05:12,110 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 15:05:12,381 WARN L180 SmtUtils]: Spent 230.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 15:05:12,872 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 15:05:12,873 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 15:05:12,919 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 15:05:12,919 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 15:05:12,923 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 15:05:12,933 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 15:05:12,934 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2018-11-23 15:05:12,936 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 11 states. [2018-11-23 15:05:13,121 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 10 [2018-11-23 15:05:13,288 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 14 [2018-11-23 15:05:13,490 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 12 [2018-11-23 15:05:14,038 WARN L180 SmtUtils]: Spent 151.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 17 [2018-11-23 15:05:22,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 15:05:22,072 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2018-11-23 15:05:22,073 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 15:05:22,074 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 21 [2018-11-23 15:05:22,074 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 15:05:22,079 INFO L225 Difference]: With dead ends: 69 [2018-11-23 15:05:22,079 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 15:05:22,082 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 10 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2018-11-23 15:05:22,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 15:05:22,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2018-11-23 15:05:22,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 15:05:22,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2018-11-23 15:05:22,112 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 21 [2018-11-23 15:05:22,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 15:05:22,112 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2018-11-23 15:05:22,112 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 15:05:22,112 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2018-11-23 15:05:22,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 15:05:22,114 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:05:22,114 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 15:05:22,114 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:05:22,114 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:05:22,114 INFO L82 PathProgramCache]: Analyzing trace with hash 1115695378, now seen corresponding path program 1 times [2018-11-23 15:05:22,115 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 15:05:22,115 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6690c45b-c1fd-4fad-a36d-9807b81994da/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 15:05:22,125 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:05:27,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:05:27,427 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 15:05:27,690 WARN L180 SmtUtils]: Spent 152.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 15:05:28,510 WARN L180 SmtUtils]: Spent 473.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-23 15:05:49,587 WARN L180 SmtUtils]: Spent 8.35 s on a formula simplification that was a NOOP. DAG size: 27 [2018-11-23 15:05:51,632 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse5 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv0 32)))) (let ((.cse4 (fp.add roundNearestTiesToEven .cse5 .cse5))) (and (= (let ((.cse0 ((_ to_fp 11 53) roundNearestTiesToEven (/ 1.0 2.0)))) (fp.mul roundNearestTiesToEven .cse0 (let ((.cse3 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv1 32))) (.cse1 (fp.sub roundNearestTiesToEven .cse0 c_~yn~0)) (.cse2 (fp.sub roundNearestTiesToEven .cse0 .cse4))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse1 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 .cse1) .cse3) .cse3)) (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven .cse3 .cse3) (fp.sub roundNearestTiesToEven .cse1 .cse2)))))) c_~ui~0) (= c_~yn~0 (fp.add roundNearestTiesToEven .cse4 .cse5))))) is different from true [2018-11-23 15:05:53,735 WARN L832 $PredicateComparison]: unable to prove that (let ((.cse6 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv0 32))) (.cse3 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv1 32)))) (let ((.cse0 ((_ to_fp 11 53) roundNearestTiesToEven (/ 1.0 2.0))) (.cse4 (fp.div roundNearestTiesToEven .cse3 .cse3)) (.cse5 (fp.add roundNearestTiesToEven .cse6 .cse6))) (and (= (fp.mul roundNearestTiesToEven .cse0 (let ((.cse1 (fp.sub roundNearestTiesToEven .cse0 c_~yn~0)) (.cse2 (fp.sub roundNearestTiesToEven .cse0 .cse5))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse1 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 .cse1) .cse3) .cse3)) (fp.mul roundNearestTiesToEven .cse4 (fp.sub roundNearestTiesToEven .cse1 .cse2))))) c_~ui~0) (= c_~yn~0 (fp.add roundNearestTiesToEven .cse5 .cse6)) (= c_main_~yc~0 .cse0) (= c_~ui~0 (fp.mul roundNearestTiesToEven .cse0 (let ((.cse7 (fp.sub roundNearestTiesToEven c_main_~yc~0 c_~yn~0)) (.cse8 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse5))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse7 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse8 .cse7) .cse3) .cse3)) (fp.mul roundNearestTiesToEven .cse4 (fp.sub roundNearestTiesToEven .cse7 .cse8))))))))) is different from false [2018-11-23 15:05:55,869 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse6 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv0 32))) (.cse3 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv1 32)))) (let ((.cse0 ((_ to_fp 11 53) roundNearestTiesToEven (/ 1.0 2.0))) (.cse4 (fp.div roundNearestTiesToEven .cse3 .cse3)) (.cse5 (fp.add roundNearestTiesToEven .cse6 .cse6))) (and (= (fp.mul roundNearestTiesToEven .cse0 (let ((.cse1 (fp.sub roundNearestTiesToEven .cse0 c_~yn~0)) (.cse2 (fp.sub roundNearestTiesToEven .cse0 .cse5))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse1 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 .cse1) .cse3) .cse3)) (fp.mul roundNearestTiesToEven .cse4 (fp.sub roundNearestTiesToEven .cse1 .cse2))))) c_~ui~0) (= c_~yn~0 (fp.add roundNearestTiesToEven .cse5 .cse6)) (= c_main_~yc~0 .cse0) (= c_~ui~0 (fp.mul roundNearestTiesToEven .cse0 (let ((.cse7 (fp.sub roundNearestTiesToEven c_main_~yc~0 c_~yn~0)) (.cse8 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse5))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse7 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse8 .cse7) .cse3) .cse3)) (fp.mul roundNearestTiesToEven .cse4 (fp.sub roundNearestTiesToEven .cse7 .cse8))))))))) is different from true [2018-11-23 15:06:01,838 WARN L180 SmtUtils]: Spent 678.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 15:06:03,925 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse10 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv0 32)))) (let ((.cse6 (fp.add roundNearestTiesToEven .cse10 .cse10)) (.cse4 ((_ to_fp 11 53) roundNearestTiesToEven (_ bv1 32)))) (let ((.cse5 (fp.div roundNearestTiesToEven .cse4 .cse4)) (.cse1 ((_ to_fp 11 53) roundNearestTiesToEven (/ 1.0 2.0))) (.cse7 (fp.add roundNearestTiesToEven .cse6 .cse10))) (let ((.cse0 (fp.mul roundNearestTiesToEven .cse1 (let ((.cse8 (fp.sub roundNearestTiesToEven .cse1 .cse7)) (.cse9 (fp.sub roundNearestTiesToEven .cse1 .cse6))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse8 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse9 .cse8) .cse4) .cse4)) (fp.mul roundNearestTiesToEven .cse5 (fp.sub roundNearestTiesToEven .cse8 .cse9))))))) (and (= .cse0 (fp.mul roundNearestTiesToEven .cse1 (let ((.cse2 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse7)) (.cse3 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse6))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse3 .cse2) .cse4) .cse4)) (fp.mul roundNearestTiesToEven .cse5 (fp.sub roundNearestTiesToEven .cse2 .cse3)))))) (= c_main_~yc~0 .cse1) (= |c_main_#t~ret2| (fp.add roundNearestTiesToEven .cse7 .cse0))))))) is different from true [2018-11-23 15:06:09,680 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 5 not checked. [2018-11-23 15:06:09,680 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 15:06:23,328 WARN L180 SmtUtils]: Spent 707.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 15:06:23,783 WARN L180 SmtUtils]: Spent 454.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 15:06:24,041 WARN L180 SmtUtils]: Spent 257.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 15:06:25,514 WARN L180 SmtUtils]: Spent 1.47 s on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 15:06:26,283 WARN L180 SmtUtils]: Spent 768.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 15:06:50,731 WARN L180 SmtUtils]: Spent 4.70 s on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 15:06:52,778 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse1 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (let ((.cse0 (fp.sub roundNearestTiesToEven v_prenex_1 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (.cse2 (fp.neg .cse1))) (or (not (fp.leq .cse0 .cse1)) (not (fp.geq .cse0 .cse2)) (fp.geq (fp.sub roundNearestTiesToEven v_prenex_1 |c_y_#res|) .cse2))))) (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse4 (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_7 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (.cse3 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (or (fp.leq (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_7 |c_y_#res|) .cse3) (not (fp.geq .cse4 (fp.neg .cse3))) (not (fp.leq .cse4 .cse3)))))) is different from true [2018-11-23 15:06:54,829 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse1 (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_7 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (.cse0 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (or (fp.leq (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_7 (fp.add roundNearestTiesToEven c_~yn~0 c_~ui~0)) .cse0) (not (fp.geq .cse1 (fp.neg .cse0))) (not (fp.leq .cse1 .cse0))))) (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse3 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (let ((.cse2 (fp.sub roundNearestTiesToEven v_prenex_1 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (.cse4 (fp.neg .cse3))) (or (not (fp.leq .cse2 .cse3)) (not (fp.geq .cse2 .cse4)) (fp.geq (fp.sub roundNearestTiesToEven v_prenex_1 (fp.add roundNearestTiesToEven c_~yn~0 c_~ui~0)) .cse4)))))) is different from true [2018-11-23 15:06:57,539 WARN L832 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub roundNearestTiesToEven c_main_~yc~0 (fp.add roundNearestTiesToEven c_~yn~0 (fp.mul roundNearestTiesToEven c_main_~K~0 (let ((.cse2 (fp.sub roundNearestTiesToEven c_main_~yc~0 |c_main_#t~ret2|))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven c_main_~sumej~0 .cse2) c_main_~T~0) c_main_~taui~0)) (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven c_main_~taud~0 c_main_~T~0) (fp.sub roundNearestTiesToEven .cse2 c_main_~epi~0)))))))) (.cse1 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from false [2018-11-23 15:07:00,246 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub roundNearestTiesToEven c_main_~yc~0 (fp.add roundNearestTiesToEven c_~yn~0 (fp.mul roundNearestTiesToEven c_main_~K~0 (let ((.cse2 (fp.sub roundNearestTiesToEven c_main_~yc~0 |c_main_#t~ret2|))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse2 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven c_main_~sumej~0 .cse2) c_main_~T~0) c_main_~taui~0)) (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven c_main_~taud~0 c_main_~T~0) (fp.sub roundNearestTiesToEven .cse2 c_main_~epi~0)))))))) (.cse1 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from true [2018-11-23 15:07:00,729 WARN L180 SmtUtils]: Spent 482.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 15:07:01,336 WARN L180 SmtUtils]: Spent 607.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 15:07:01,886 WARN L180 SmtUtils]: Spent 549.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 15:07:02,749 WARN L180 SmtUtils]: Spent 862.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 15:07:05,483 WARN L832 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub roundNearestTiesToEven c_main_~yc~0 (let ((.cse2 (fp.add roundNearestTiesToEven c_~yn~0 c_~ui~0))) (fp.add roundNearestTiesToEven .cse2 (fp.mul roundNearestTiesToEven c_main_~K~0 (let ((.cse3 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse2))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse3 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven c_main_~sumej~0 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven c_main_~taud~0 c_main_~T~0) (fp.sub roundNearestTiesToEven .cse3 c_main_~epi~0))))))))) (.cse1 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from false [2018-11-23 15:07:08,229 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub roundNearestTiesToEven c_main_~yc~0 (let ((.cse2 (fp.add roundNearestTiesToEven c_~yn~0 c_~ui~0))) (fp.add roundNearestTiesToEven .cse2 (fp.mul roundNearestTiesToEven c_main_~K~0 (let ((.cse3 (fp.sub roundNearestTiesToEven c_main_~yc~0 .cse2))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse3 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven c_main_~sumej~0 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven c_main_~taud~0 c_main_~T~0) (fp.sub roundNearestTiesToEven .cse3 c_main_~epi~0))))))))) (.cse1 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from true [2018-11-23 15:07:11,651 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_prenex_6 (_ FloatingPoint 11 53)) (v_prenex_7 (_ FloatingPoint 11 53)) (v_prenex_4 (_ FloatingPoint 11 53)) (v_prenex_5 (_ FloatingPoint 11 53)) (v_prenex_2 (_ FloatingPoint 11 53)) (v_prenex_3 (_ FloatingPoint 11 53)) (v_prenex_8 (_ FloatingPoint 11 53))) (let ((.cse1 (fp.div roundNearestTiesToEven v_prenex_3 v_prenex_7))) (let ((.cse3 (fp.sub roundNearestTiesToEven v_prenex_8 (let ((.cse4 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (fp.add roundNearestTiesToEven .cse4 (fp.mul roundNearestTiesToEven v_prenex_4 (let ((.cse5 (fp.sub roundNearestTiesToEven v_prenex_8 .cse4))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse5 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven v_prenex_6 .cse5) v_prenex_7) v_prenex_5)) (fp.mul roundNearestTiesToEven .cse1 (fp.sub roundNearestTiesToEven .cse5 v_prenex_2))))))))) (.cse2 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (or (fp.leq (fp.sub roundNearestTiesToEven v_prenex_8 (fp.add roundNearestTiesToEven c_~yn~0 (fp.mul roundNearestTiesToEven v_prenex_4 (let ((.cse0 (fp.sub roundNearestTiesToEven v_prenex_8 |c_y_#res|))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse0 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven v_prenex_6 .cse0) v_prenex_7) v_prenex_5)) (fp.mul roundNearestTiesToEven .cse1 (fp.sub roundNearestTiesToEven .cse0 v_prenex_2))))))) .cse2) (not (fp.leq .cse3 .cse2)) (not (fp.geq .cse3 (fp.neg .cse2))))))) (forall ((v_main_~epi~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taud~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~sumej~0_BEFORE_CALL_2 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_9 (_ FloatingPoint 11 53))) (let ((.cse9 (fp.div roundNearestTiesToEven v_main_~taud~0_BEFORE_CALL_3 v_main_~T~0_BEFORE_CALL_3)) (.cse10 ((_ to_fp 11 53) roundNearestTiesToEven 1.0))) (let ((.cse7 (fp.neg .cse10)) (.cse6 (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_9 (let ((.cse11 (fp.add roundNearestTiesToEven |c_old(~yn~0)| c_~ui~0))) (fp.add roundNearestTiesToEven .cse11 (fp.mul roundNearestTiesToEven v_main_~K~0_BEFORE_CALL_3 (let ((.cse12 (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_9 .cse11))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse12 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven v_main_~sumej~0_BEFORE_CALL_2 .cse12) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul roundNearestTiesToEven .cse9 (fp.sub roundNearestTiesToEven .cse12 v_main_~epi~0_BEFORE_CALL_4)))))))))) (or (not (fp.geq .cse6 .cse7)) (fp.geq (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_9 (fp.add roundNearestTiesToEven c_~yn~0 (fp.mul roundNearestTiesToEven v_main_~K~0_BEFORE_CALL_3 (let ((.cse8 (fp.sub roundNearestTiesToEven v_main_~yc~0_BEFORE_CALL_9 |c_y_#res|))) (fp.add roundNearestTiesToEven (fp.add roundNearestTiesToEven .cse8 (fp.div roundNearestTiesToEven (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven v_main_~sumej~0_BEFORE_CALL_2 .cse8) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul roundNearestTiesToEven .cse9 (fp.sub roundNearestTiesToEven .cse8 v_main_~epi~0_BEFORE_CALL_4))))))) .cse7) (not (fp.leq .cse6 .cse10))))))) is different from true [2018-11-23 15:07:14,138 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-11-23 15:07:14,339 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 15:07:14,340 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.managedscript.ManagedScript.checkSat(ManagedScript.java:141) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.MonolithicImplicationChecker.checkImplication(MonolithicImplicationChecker.java:84) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:845) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.(PredicateUnifier.java:767) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:339) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp$UnifyPostprocessor.postprocess(TraceCheckSpWp.java:575) 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.computeBackwardSequence(IterativePredicateTransformer.java:418) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:290) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:330) 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) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 40 more [2018-11-23 15:07:14,342 INFO L168 Benchmark]: Toolchain (without parser) took 128618.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.0 MB). Free memory was 950.8 MB in the beginning and 926.6 MB in the end (delta: 24.2 MB). Peak memory consumption was 165.2 MB. Max. memory is 11.5 GB. [2018-11-23 15:07:14,342 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:07:14,343 INFO L168 Benchmark]: CACSL2BoogieTranslator took 179.39 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 15:07:14,343 INFO L168 Benchmark]: Boogie Procedure Inliner took 13.82 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:07:14,344 INFO L168 Benchmark]: Boogie Preprocessor took 19.38 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:07:14,344 INFO L168 Benchmark]: RCFGBuilder took 2914.25 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.0 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -175.8 MB). Peak memory consumption was 20.6 MB. Max. memory is 11.5 GB. [2018-11-23 15:07:14,344 INFO L168 Benchmark]: TraceAbstraction took 125489.30 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 926.6 MB in the end (delta: 183.9 MB). Peak memory consumption was 183.9 MB. Max. memory is 11.5 GB. [2018-11-23 15:07:14,347 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 179.39 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 13.82 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.38 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 2914.25 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.0 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -175.8 MB). Peak memory consumption was 20.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 125489.30 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 926.6 MB in the end (delta: 183.9 MB). Peak memory consumption was 183.9 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...