./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_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan --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 Taipan --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_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan --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 Taipan --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 16:03:24,585 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 16:03:24,586 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 16:03:24,593 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 16:03:24,593 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 16:03:24,594 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 16:03:24,595 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 16:03:24,596 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 16:03:24,597 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 16:03:24,598 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 16:03:24,598 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 16:03:24,598 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 16:03:24,599 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 16:03:24,600 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 16:03:24,600 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 16:03:24,601 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 16:03:24,601 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 16:03:24,603 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 16:03:24,604 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 16:03:24,605 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 16:03:24,605 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 16:03:24,606 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 16:03:24,607 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 16:03:24,607 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 16:03:24,607 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 16:03:24,608 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 16:03:24,609 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 16:03:24,609 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 16:03:24,610 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 16:03:24,610 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 16:03:24,610 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 16:03:24,610 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 16:03:24,611 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 16:03:24,611 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 16:03:24,611 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 16:03:24,611 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 16:03:24,612 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-23 16:03:24,619 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 16:03:24,619 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 16:03:24,619 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 16:03:24,619 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 16:03:24,619 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 16:03:24,620 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-23 16:03:24,620 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 16:03:24,621 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 16:03:24,621 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 16:03:24,621 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 16:03:24,621 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 16:03:24,622 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 16:03:24,623 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 16:03:24,623 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 16:03:24,623 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 16:03:24,623 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 16:03:24,623 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 16:03:24,623 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 16:03:24,623 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 16:03:24,624 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES 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_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan 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 -> Taipan 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 16:03:24,648 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 16:03:24,656 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 16:03:24,658 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 16:03:24,660 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 16:03:24,660 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 16:03:24,660 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:24,700 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/468e1a7bb/4483eb415b7f4df19d433bd95dc63cdd/FLAGad66715ff [2018-11-23 16:03:25,000 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 16:03:25,000 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:25,004 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/468e1a7bb/4483eb415b7f4df19d433bd95dc63cdd/FLAGad66715ff [2018-11-23 16:03:25,014 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/468e1a7bb/4483eb415b7f4df19d433bd95dc63cdd [2018-11-23 16:03:25,016 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 16:03:25,017 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 16:03:25,018 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 16:03:25,018 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 16:03:25,021 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 16:03:25,022 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,024 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15a4b09f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25, skipping insertion in model container [2018-11-23 16:03:25,024 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,032 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 16:03:25,047 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 16:03:25,159 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 16:03:25,162 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 16:03:25,174 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 16:03:25,183 INFO L195 MainTranslator]: Completed translation [2018-11-23 16:03:25,183 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25 WrapperNode [2018-11-23 16:03:25,183 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 16:03:25,184 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 16:03:25,184 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 16:03:25,184 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 16:03:25,191 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,197 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,203 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 16:03:25,204 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 16:03:25,204 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 16:03:25,204 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 16:03:25,212 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,212 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,213 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,213 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,218 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,257 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,258 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... [2018-11-23 16:03:25,259 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 16:03:25,259 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 16:03:25,259 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 16:03:25,259 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 16:03:25,260 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/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 16:03:25,293 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 16:03:25,293 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 16:03:25,293 INFO L130 BoogieDeclarations]: Found specification of procedure y [2018-11-23 16:03:25,293 INFO L138 BoogieDeclarations]: Found implementation of procedure y [2018-11-23 16:03:25,294 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 16:03:25,294 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 16:03:25,294 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 16:03:25,294 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 16:03:25,294 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 16:03:25,294 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 16:03:25,399 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 16:03:25,400 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 16:03:25,400 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:03:25 BoogieIcfgContainer [2018-11-23 16:03:25,400 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 16:03:25,401 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 16:03:25,401 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 16:03:25,404 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 16:03:25,404 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 04:03:25" (1/3) ... [2018-11-23 16:03:25,405 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72c75b1e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:03:25, skipping insertion in model container [2018-11-23 16:03:25,405 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:25" (2/3) ... [2018-11-23 16:03:25,405 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72c75b1e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:03:25, skipping insertion in model container [2018-11-23 16:03:25,405 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:03:25" (3/3) ... [2018-11-23 16:03:25,407 INFO L112 eAbstractionObserver]: Analyzing ICFG water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:25,415 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 16:03:25,421 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 16:03:25,435 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 16:03:25,462 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 16:03:25,462 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 16:03:25,462 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 16:03:25,462 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 16:03:25,462 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 16:03:25,462 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 16:03:25,462 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 16:03:25,463 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 16:03:25,477 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 16:03:25,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 16:03:25,482 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 16:03:25,483 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 16:03:25,484 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 16:03:25,489 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 16:03:25,489 INFO L82 PathProgramCache]: Analyzing trace with hash 1227502395, now seen corresponding path program 1 times [2018-11-23 16:03:25,491 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 16:03:25,530 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 16:03:25,530 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 16:03:25,530 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 16:03:25,530 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 16:03:25,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 16:03:25,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 16:03:25,595 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 16:03:25,636 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 04:03:25 BoogieIcfgContainer [2018-11-23 16:03:25,636 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 16:03:25,636 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 16:03:25,636 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 16:03:25,637 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 16:03:25,637 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:03:25" (3/4) ... [2018-11-23 16:03:25,640 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 16:03:25,640 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 16:03:25,640 INFO L168 Benchmark]: Toolchain (without parser) took 623.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -151.0 MB). Peak memory consumption was 34.4 kB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,643 INFO L168 Benchmark]: CDTParser took 0.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 16:03:25,643 INFO L168 Benchmark]: CACSL2BoogieTranslator took 165.09 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 948.4 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,644 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.87 ms. Allocated memory is still 1.0 GB. Free memory was 948.4 MB in the beginning and 945.7 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,644 INFO L168 Benchmark]: Boogie Preprocessor took 55.42 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 945.7 MB in the beginning and 1.1 GB in the end (delta: -203.2 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,645 INFO L168 Benchmark]: RCFGBuilder took 141.03 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: 18.3 MB). Peak memory consumption was 18.3 MB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,646 INFO L168 Benchmark]: TraceAbstraction took 235.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 20.6 MB). Peak memory consumption was 20.6 MB. Max. memory is 11.5 GB. [2018-11-23 16:03:25,647 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 16:03:25,652 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.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 165.09 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 948.4 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 19.87 ms. Allocated memory is still 1.0 GB. Free memory was 948.4 MB in the beginning and 945.7 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 55.42 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 151.0 MB). Free memory was 945.7 MB in the beginning and 1.1 GB in the end (delta: -203.2 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 141.03 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: 18.3 MB). Peak memory consumption was 18.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 235.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 20.6 MB). Peak memory consumption was 20.6 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 16:03:27,123 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 16:03:27,125 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 16:03:27,134 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 16:03:27,134 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 16:03:27,135 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 16:03:27,136 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 16:03:27,137 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 16:03:27,138 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 16:03:27,139 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 16:03:27,139 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 16:03:27,140 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 16:03:27,140 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 16:03:27,141 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 16:03:27,142 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 16:03:27,142 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 16:03:27,143 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 16:03:27,144 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 16:03:27,146 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 16:03:27,147 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 16:03:27,147 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 16:03:27,148 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 16:03:27,150 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 16:03:27,150 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 16:03:27,150 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 16:03:27,151 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 16:03:27,152 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 16:03:27,152 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 16:03:27,153 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 16:03:27,153 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 16:03:27,153 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 16:03:27,154 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 16:03:27,154 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 16:03:27,154 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 16:03:27,155 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 16:03:27,155 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 16:03:27,155 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-23 16:03:27,166 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 16:03:27,166 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 16:03:27,166 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 16:03:27,167 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 16:03:27,167 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 16:03:27,167 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 16:03:27,167 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 16:03:27,167 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 16:03:27,167 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 16:03:27,168 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 16:03:27,168 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 16:03:27,168 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 16:03:27,168 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 16:03:27,168 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 16:03:27,169 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 16:03:27,170 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 16:03:27,170 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 16:03:27,170 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 16:03:27,170 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 16:03:27,170 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 16:03:27,170 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 16:03:27,171 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 16:03:27,171 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 16:03:27,172 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_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan 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 -> Taipan 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 16:03:27,201 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 16:03:27,210 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 16:03:27,212 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 16:03:27,214 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 16:03:27,214 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 16:03:27,214 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/../../sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:27,257 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/3a3a6e041/fcbb4d1a0709421588210a917833c558/FLAGf7b3f6e21 [2018-11-23 16:03:27,582 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 16:03:27,583 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/sv-benchmarks/c/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:27,587 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/3a3a6e041/fcbb4d1a0709421588210a917833c558/FLAGf7b3f6e21 [2018-11-23 16:03:28,020 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/data/3a3a6e041/fcbb4d1a0709421588210a917833c558 [2018-11-23 16:03:28,022 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 16:03:28,023 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 16:03:28,024 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 16:03:28,024 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 16:03:28,027 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 16:03:28,028 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,030 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1c42fe31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28, skipping insertion in model container [2018-11-23 16:03:28,030 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,037 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 16:03:28,049 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 16:03:28,172 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 16:03:28,177 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 16:03:28,190 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 16:03:28,199 INFO L195 MainTranslator]: Completed translation [2018-11-23 16:03:28,199 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28 WrapperNode [2018-11-23 16:03:28,200 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 16:03:28,200 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 16:03:28,200 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 16:03:28,200 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 16:03:28,205 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,210 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,214 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 16:03:28,214 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 16:03:28,214 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 16:03:28,215 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 16:03:28,220 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,220 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,221 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,221 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,226 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,228 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,230 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... [2018-11-23 16:03:28,231 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 16:03:28,231 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 16:03:28,232 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 16:03:28,232 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 16:03:28,232 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/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 16:03:28,305 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 16:03:28,305 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 16:03:28,305 INFO L130 BoogieDeclarations]: Found specification of procedure y [2018-11-23 16:03:28,305 INFO L138 BoogieDeclarations]: Found implementation of procedure y [2018-11-23 16:03:28,306 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 16:03:28,306 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 16:03:28,306 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 16:03:28,306 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 16:03:28,306 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 16:03:28,306 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 16:03:31,195 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 16:03:31,195 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 16:03:31,195 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:03:31 BoogieIcfgContainer [2018-11-23 16:03:31,195 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 16:03:31,196 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 16:03:31,196 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 16:03:31,199 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 16:03:31,199 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 04:03:28" (1/3) ... [2018-11-23 16:03:31,199 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3eac9df8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:03:31, skipping insertion in model container [2018-11-23 16:03:31,200 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 04:03:28" (2/3) ... [2018-11-23 16:03:31,200 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3eac9df8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 04:03:31, skipping insertion in model container [2018-11-23 16:03:31,200 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 04:03:31" (3/3) ... [2018-11-23 16:03:31,201 INFO L112 eAbstractionObserver]: Analyzing ICFG water_pid_true-unreach-call_true-termination.c [2018-11-23 16:03:31,210 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 16:03:31,216 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 16:03:31,230 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 16:03:31,253 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 16:03:31,253 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 16:03:31,253 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 16:03:31,253 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 16:03:31,254 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 16:03:31,254 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 16:03:31,254 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 16:03:31,254 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 16:03:31,254 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 16:03:31,268 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 16:03:31,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 16:03:31,272 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 16:03:31,273 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 16:03:31,274 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 16:03:31,278 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 16:03:31,279 INFO L82 PathProgramCache]: Analyzing trace with hash 1227502395, now seen corresponding path program 1 times [2018-11-23 16:03:31,282 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 16:03:31,283 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/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 16:03:31,289 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 16:03:34,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 16:03:34,472 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 16:03:34,757 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 16:03:34,934 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 16:03:35,467 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 16:03:35,467 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 16:03:35,503 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 16:03:35,504 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 16:03:35,507 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 16:03:35,514 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 16:03:35,515 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2018-11-23 16:03:35,516 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 11 states. [2018-11-23 16:03:35,807 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 14 [2018-11-23 16:03:36,133 WARN L180 SmtUtils]: Spent 186.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 12 [2018-11-23 16:03:36,611 WARN L180 SmtUtils]: Spent 143.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 17 [2018-11-23 16:03:44,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 16:03:44,823 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2018-11-23 16:03:44,824 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 16:03:44,825 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 21 [2018-11-23 16:03:44,825 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 16:03:44,831 INFO L225 Difference]: With dead ends: 69 [2018-11-23 16:03:44,832 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 16:03:44,834 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 10 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2018-11-23 16:03:44,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 16:03:44,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2018-11-23 16:03:44,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 16:03:44,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2018-11-23 16:03:44,866 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 21 [2018-11-23 16:03:44,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 16:03:44,867 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2018-11-23 16:03:44,867 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 16:03:44,867 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2018-11-23 16:03:44,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 16:03:44,869 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 16:03:44,869 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 16:03:44,869 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 16:03:44,870 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 16:03:44,870 INFO L82 PathProgramCache]: Analyzing trace with hash 1115695378, now seen corresponding path program 1 times [2018-11-23 16:03:44,870 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 16:03:44,870 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_be176016-92d4-453c-b22e-d290109586e6/bin-2019/utaipan/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 16:03:44,875 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 16:03:50,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 16:03:50,503 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 16:03:50,805 WARN L180 SmtUtils]: Spent 200.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 16:03:51,711 WARN L180 SmtUtils]: Spent 529.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-23 16:04:12,786 WARN L180 SmtUtils]: Spent 8.18 s on a formula simplification that was a NOOP. DAG size: 27 [2018-11-23 16:04:14,896 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 16:04:17,011 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 16:04:19,095 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 16:04:25,523 WARN L180 SmtUtils]: Spent 808.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 16:04:27,629 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 16:04:35,454 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 6 refuted. 1 times theorem prover too weak. 3 trivial. 5 not checked. [2018-11-23 16:04:35,454 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 16:04:51,063 WARN L180 SmtUtils]: Spent 655.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 16:04:51,434 WARN L180 SmtUtils]: Spent 370.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 16:04:51,808 WARN L180 SmtUtils]: Spent 373.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 16:04:53,536 WARN L180 SmtUtils]: Spent 1.73 s on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 16:04:54,583 WARN L180 SmtUtils]: Spent 1.05 s on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 16:05:22,484 WARN L180 SmtUtils]: Spent 4.81 s on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 16:05:24,538 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 16:05:26,600 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 16:05:29,377 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 16:05:32,194 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 16:05:32,694 WARN L180 SmtUtils]: Spent 499.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 16:05:33,397 WARN L180 SmtUtils]: Spent 702.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 16:05:34,089 WARN L180 SmtUtils]: Spent 691.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 16:05:35,006 WARN L180 SmtUtils]: Spent 916.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 16:05:37,811 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 16:05:40,623 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 16:05:43,931 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 16:05:46,821 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-11-23 16:05:47,022 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 16:05:47,023 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 16:05:47,026 INFO L168 Benchmark]: Toolchain (without parser) took 139003.01 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 113.2 MB). Free memory was 949.7 MB in the beginning and 893.4 MB in the end (delta: 56.4 MB). Peak memory consumption was 169.6 MB. Max. memory is 11.5 GB. [2018-11-23 16:05:47,026 INFO L168 Benchmark]: CDTParser took 0.14 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 16:05:47,027 INFO L168 Benchmark]: CACSL2BoogieTranslator took 175.59 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 16:05:47,027 INFO L168 Benchmark]: Boogie Procedure Inliner took 14.27 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 16:05:47,028 INFO L168 Benchmark]: Boogie Preprocessor took 16.81 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 16:05:47,028 INFO L168 Benchmark]: RCFGBuilder took 2964.17 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 113.2 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -149.5 MB). Peak memory consumption was 20.2 MB. Max. memory is 11.5 GB. [2018-11-23 16:05:47,028 INFO L168 Benchmark]: TraceAbstraction took 135828.94 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 893.4 MB in the end (delta: 189.7 MB). Peak memory consumption was 189.7 MB. Max. memory is 11.5 GB. [2018-11-23 16:05:47,031 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 175.59 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 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 14.27 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 16.81 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 2964.17 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 113.2 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -149.5 MB). Peak memory consumption was 20.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 135828.94 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 893.4 MB in the end (delta: 189.7 MB). Peak memory consumption was 189.7 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...