/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/recursive-simple/id2_i5_o5-1.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 14:58:22,144 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 14:58:22,147 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 14:58:22,165 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 14:58:22,166 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 14:58:22,168 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 14:58:22,169 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 14:58:22,182 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 14:58:22,184 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 14:58:22,186 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 14:58:22,188 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 14:58:22,190 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 14:58:22,190 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 14:58:22,193 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 14:58:22,196 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 14:58:22,197 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 14:58:22,198 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 14:58:22,201 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 14:58:22,202 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 14:58:22,207 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 14:58:22,210 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 14:58:22,212 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 14:58:22,213 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 14:58:22,214 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 14:58:22,216 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 14:58:22,216 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 14:58:22,216 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 14:58:22,219 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 14:58:22,219 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 14:58:22,221 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 14:58:22,221 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 14:58:22,222 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 14:58:22,223 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 14:58:22,224 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 14:58:22,226 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 14:58:22,227 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 14:58:22,229 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 14:58:22,229 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 14:58:22,229 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 14:58:22,230 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 14:58:22,231 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 14:58:22,232 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-10 14:58:22,252 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 14:58:22,253 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 14:58:22,255 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 14:58:22,255 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 14:58:22,255 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 14:58:22,255 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 14:58:22,255 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 14:58:22,256 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 14:58:22,256 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 14:58:22,256 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 14:58:22,257 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 14:58:22,257 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 14:58:22,257 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 14:58:22,258 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 14:58:22,258 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 14:58:22,258 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 14:58:22,258 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 14:58:22,258 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 14:58:22,259 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 14:58:22,259 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 14:58:22,259 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 14:58:22,259 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 14:58:22,259 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 14:58:22,260 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 14:58:22,260 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 14:58:22,260 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 14:58:22,260 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 14:58:22,260 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 14:58:22,261 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 14:58:22,261 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 14:58:22,518 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 14:58:22,531 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 14:58:22,534 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 14:58:22,536 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 14:58:22,536 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 14:58:22,537 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/recursive-simple/id2_i5_o5-1.c [2020-07-10 14:58:22,595 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08e38c984/1e689e7f38ad41a889509e1337b5f40c/FLAGee0f39573 [2020-07-10 14:58:23,001 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 14:58:23,001 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/recursive-simple/id2_i5_o5-1.c [2020-07-10 14:58:23,008 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08e38c984/1e689e7f38ad41a889509e1337b5f40c/FLAGee0f39573 [2020-07-10 14:58:23,365 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08e38c984/1e689e7f38ad41a889509e1337b5f40c [2020-07-10 14:58:23,373 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 14:58:23,374 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 14:58:23,375 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 14:58:23,376 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 14:58:23,379 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 14:58:23,380 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,383 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@47fcb659 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23, skipping insertion in model container [2020-07-10 14:58:23,383 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,390 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 14:58:23,406 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 14:58:23,576 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 14:58:23,580 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 14:58:23,599 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 14:58:23,616 INFO L208 MainTranslator]: Completed translation [2020-07-10 14:58:23,616 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23 WrapperNode [2020-07-10 14:58:23,616 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 14:58:23,617 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 14:58:23,617 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 14:58:23,617 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 14:58:23,631 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,631 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,636 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,636 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,720 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,723 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,724 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... [2020-07-10 14:58:23,726 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 14:58:23,726 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 14:58:23,726 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 14:58:23,726 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 14:58:23,727 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/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 [2020-07-10 14:58:23,791 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 14:58:23,791 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 14:58:23,792 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2020-07-10 14:58:23,792 INFO L138 BoogieDeclarations]: Found implementation of procedure id2 [2020-07-10 14:58:23,792 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 14:58:23,792 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 14:58:23,792 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 14:58:23,792 INFO L130 BoogieDeclarations]: Found specification of procedure id [2020-07-10 14:58:23,793 INFO L130 BoogieDeclarations]: Found specification of procedure id2 [2020-07-10 14:58:23,793 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 14:58:23,793 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 14:58:23,793 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 14:58:24,035 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 14:58:24,035 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-10 14:58:24,040 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 02:58:24 BoogieIcfgContainer [2020-07-10 14:58:24,040 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 14:58:24,041 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 14:58:24,055 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 14:58:24,062 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 14:58:24,062 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 02:58:23" (1/3) ... [2020-07-10 14:58:24,063 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@caaa4f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 02:58:24, skipping insertion in model container [2020-07-10 14:58:24,063 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 02:58:23" (2/3) ... [2020-07-10 14:58:24,063 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@caaa4f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 02:58:24, skipping insertion in model container [2020-07-10 14:58:24,063 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 02:58:24" (3/3) ... [2020-07-10 14:58:24,065 INFO L109 eAbstractionObserver]: Analyzing ICFG id2_i5_o5-1.c [2020-07-10 14:58:24,076 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 14:58:24,084 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 14:58:24,098 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 14:58:24,125 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 14:58:24,126 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 14:58:24,126 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 14:58:24,126 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 14:58:24,129 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 14:58:24,129 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 14:58:24,130 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 14:58:24,130 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 14:58:24,154 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states. [2020-07-10 14:58:24,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2020-07-10 14:58:24,160 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:24,161 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:24,161 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:24,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:24,167 INFO L82 PathProgramCache]: Analyzing trace with hash -550894517, now seen corresponding path program 1 times [2020-07-10 14:58:24,174 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:24,175 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431036523] [2020-07-10 14:58:24,175 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:24,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,353 INFO L280 TraceCheckUtils]: 0: Hoare triple {29#true} assume true; {29#true} is VALID [2020-07-10 14:58:24,353 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {29#true} {29#true} #36#return; {29#true} is VALID [2020-07-10 14:58:24,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,401 INFO L280 TraceCheckUtils]: 0: Hoare triple {29#true} ~x := #in~x; {38#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:24,403 INFO L280 TraceCheckUtils]: 1: Hoare triple {38#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {39#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:24,404 INFO L280 TraceCheckUtils]: 2: Hoare triple {39#(= 0 |id_#in~x|)} assume true; {39#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:24,406 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {39#(= 0 |id_#in~x|)} {33#(<= 5 main_~input~0)} #40#return; {30#false} is VALID [2020-07-10 14:58:24,407 INFO L263 TraceCheckUtils]: 0: Hoare triple {29#true} call ULTIMATE.init(); {29#true} is VALID [2020-07-10 14:58:24,407 INFO L280 TraceCheckUtils]: 1: Hoare triple {29#true} assume true; {29#true} is VALID [2020-07-10 14:58:24,407 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {29#true} {29#true} #36#return; {29#true} is VALID [2020-07-10 14:58:24,408 INFO L263 TraceCheckUtils]: 3: Hoare triple {29#true} call #t~ret3 := main(); {29#true} is VALID [2020-07-10 14:58:24,417 INFO L280 TraceCheckUtils]: 4: Hoare triple {29#true} ~input~0 := 5; {33#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:24,417 INFO L263 TraceCheckUtils]: 5: Hoare triple {33#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {29#true} is VALID [2020-07-10 14:58:24,419 INFO L280 TraceCheckUtils]: 6: Hoare triple {29#true} ~x := #in~x; {38#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:24,421 INFO L280 TraceCheckUtils]: 7: Hoare triple {38#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {39#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:24,422 INFO L280 TraceCheckUtils]: 8: Hoare triple {39#(= 0 |id_#in~x|)} assume true; {39#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:24,425 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {39#(= 0 |id_#in~x|)} {33#(<= 5 main_~input~0)} #40#return; {30#false} is VALID [2020-07-10 14:58:24,426 INFO L280 TraceCheckUtils]: 10: Hoare triple {30#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {30#false} is VALID [2020-07-10 14:58:24,426 INFO L280 TraceCheckUtils]: 11: Hoare triple {30#false} assume 5 == ~result~0; {30#false} is VALID [2020-07-10 14:58:24,426 INFO L280 TraceCheckUtils]: 12: Hoare triple {30#false} assume !false; {30#false} is VALID [2020-07-10 14:58:24,428 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 14:58:24,429 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1431036523] [2020-07-10 14:58:24,430 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 14:58:24,431 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 14:58:24,432 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1596549817] [2020-07-10 14:58:24,438 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-10 14:58:24,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 14:58:24,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 14:58:24,477 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:24,477 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 14:58:24,477 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 14:58:24,486 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 14:58:24,487 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 14:58:24,489 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 5 states. [2020-07-10 14:58:24,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:24,698 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2020-07-10 14:58:24,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 14:58:24,698 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-10 14:58:24,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 14:58:24,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 14:58:24,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2020-07-10 14:58:24,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 14:58:24,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2020-07-10 14:58:24,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 40 transitions. [2020-07-10 14:58:24,780 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:24,793 INFO L225 Difference]: With dead ends: 36 [2020-07-10 14:58:24,794 INFO L226 Difference]: Without dead ends: 24 [2020-07-10 14:58:24,797 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 14:58:24,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2020-07-10 14:58:24,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2020-07-10 14:58:24,845 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 14:58:24,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 24 states. [2020-07-10 14:58:24,846 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-10 14:58:24,846 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-10 14:58:24,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:24,852 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2020-07-10 14:58:24,852 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2020-07-10 14:58:24,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:24,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:24,854 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 24 states. [2020-07-10 14:58:24,854 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 24 states. [2020-07-10 14:58:24,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:24,858 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2020-07-10 14:58:24,858 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2020-07-10 14:58:24,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:24,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:24,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 14:58:24,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 14:58:24,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-10 14:58:24,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2020-07-10 14:58:24,865 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 13 [2020-07-10 14:58:24,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 14:58:24,865 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2020-07-10 14:58:24,866 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 14:58:24,866 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2020-07-10 14:58:24,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-10 14:58:24,867 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:24,867 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:24,868 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 14:58:24,868 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:24,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:24,869 INFO L82 PathProgramCache]: Analyzing trace with hash 40504409, now seen corresponding path program 1 times [2020-07-10 14:58:24,869 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:24,869 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1503247018] [2020-07-10 14:58:24,870 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:24,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,920 INFO L280 TraceCheckUtils]: 0: Hoare triple {170#true} assume true; {170#true} is VALID [2020-07-10 14:58:24,921 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {170#true} {170#true} #36#return; {170#true} is VALID [2020-07-10 14:58:24,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:24,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,023 INFO L280 TraceCheckUtils]: 0: Hoare triple {170#true} ~x := #in~x; {191#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,024 INFO L280 TraceCheckUtils]: 1: Hoare triple {191#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,025 INFO L280 TraceCheckUtils]: 2: Hoare triple {192#(= 0 |id2_#in~x|)} assume true; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,027 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {192#(= 0 |id2_#in~x|)} {185#(= |id_#in~x| id_~x)} #42#return; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,028 INFO L280 TraceCheckUtils]: 0: Hoare triple {170#true} ~x := #in~x; {185#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,029 INFO L280 TraceCheckUtils]: 1: Hoare triple {185#(= |id_#in~x| id_~x)} assume !(0 == ~x); {185#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,029 INFO L263 TraceCheckUtils]: 2: Hoare triple {185#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {170#true} is VALID [2020-07-10 14:58:25,030 INFO L280 TraceCheckUtils]: 3: Hoare triple {170#true} ~x := #in~x; {191#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,030 INFO L280 TraceCheckUtils]: 4: Hoare triple {191#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,031 INFO L280 TraceCheckUtils]: 5: Hoare triple {192#(= 0 |id2_#in~x|)} assume true; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,033 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {192#(= 0 |id2_#in~x|)} {185#(= |id_#in~x| id_~x)} #42#return; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,034 INFO L280 TraceCheckUtils]: 7: Hoare triple {190#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,035 INFO L280 TraceCheckUtils]: 8: Hoare triple {190#(<= |id_#in~x| 1)} assume true; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,036 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {190#(<= |id_#in~x| 1)} {174#(<= 5 main_~input~0)} #40#return; {171#false} is VALID [2020-07-10 14:58:25,038 INFO L263 TraceCheckUtils]: 0: Hoare triple {170#true} call ULTIMATE.init(); {170#true} is VALID [2020-07-10 14:58:25,038 INFO L280 TraceCheckUtils]: 1: Hoare triple {170#true} assume true; {170#true} is VALID [2020-07-10 14:58:25,038 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {170#true} {170#true} #36#return; {170#true} is VALID [2020-07-10 14:58:25,039 INFO L263 TraceCheckUtils]: 3: Hoare triple {170#true} call #t~ret3 := main(); {170#true} is VALID [2020-07-10 14:58:25,040 INFO L280 TraceCheckUtils]: 4: Hoare triple {170#true} ~input~0 := 5; {174#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:25,040 INFO L263 TraceCheckUtils]: 5: Hoare triple {174#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {170#true} is VALID [2020-07-10 14:58:25,041 INFO L280 TraceCheckUtils]: 6: Hoare triple {170#true} ~x := #in~x; {185#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,042 INFO L280 TraceCheckUtils]: 7: Hoare triple {185#(= |id_#in~x| id_~x)} assume !(0 == ~x); {185#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,042 INFO L263 TraceCheckUtils]: 8: Hoare triple {185#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {170#true} is VALID [2020-07-10 14:58:25,043 INFO L280 TraceCheckUtils]: 9: Hoare triple {170#true} ~x := #in~x; {191#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,043 INFO L280 TraceCheckUtils]: 10: Hoare triple {191#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,044 INFO L280 TraceCheckUtils]: 11: Hoare triple {192#(= 0 |id2_#in~x|)} assume true; {192#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:25,046 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {192#(= 0 |id2_#in~x|)} {185#(= |id_#in~x| id_~x)} #42#return; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,046 INFO L280 TraceCheckUtils]: 13: Hoare triple {190#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,047 INFO L280 TraceCheckUtils]: 14: Hoare triple {190#(<= |id_#in~x| 1)} assume true; {190#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:25,049 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {190#(<= |id_#in~x| 1)} {174#(<= 5 main_~input~0)} #40#return; {171#false} is VALID [2020-07-10 14:58:25,049 INFO L280 TraceCheckUtils]: 16: Hoare triple {171#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {171#false} is VALID [2020-07-10 14:58:25,049 INFO L280 TraceCheckUtils]: 17: Hoare triple {171#false} assume 5 == ~result~0; {171#false} is VALID [2020-07-10 14:58:25,050 INFO L280 TraceCheckUtils]: 18: Hoare triple {171#false} assume !false; {171#false} is VALID [2020-07-10 14:58:25,051 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 14:58:25,052 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1503247018] [2020-07-10 14:58:25,052 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 14:58:25,052 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 14:58:25,052 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1011846315] [2020-07-10 14:58:25,054 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 19 [2020-07-10 14:58:25,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 14:58:25,055 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 14:58:25,082 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:25,082 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 14:58:25,083 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 14:58:25,083 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 14:58:25,083 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-10 14:58:25,084 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 7 states. [2020-07-10 14:58:25,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:25,314 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2020-07-10 14:58:25,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 14:58:25,314 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 19 [2020-07-10 14:58:25,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 14:58:25,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 14:58:25,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 33 transitions. [2020-07-10 14:58:25,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 14:58:25,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 33 transitions. [2020-07-10 14:58:25,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 33 transitions. [2020-07-10 14:58:25,369 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:25,372 INFO L225 Difference]: With dead ends: 33 [2020-07-10 14:58:25,372 INFO L226 Difference]: Without dead ends: 29 [2020-07-10 14:58:25,374 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-10 14:58:25,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2020-07-10 14:58:25,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 27. [2020-07-10 14:58:25,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 14:58:25,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 27 states. [2020-07-10 14:58:25,391 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 27 states. [2020-07-10 14:58:25,391 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 27 states. [2020-07-10 14:58:25,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:25,394 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-10 14:58:25,394 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-10 14:58:25,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:25,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:25,395 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 29 states. [2020-07-10 14:58:25,395 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 29 states. [2020-07-10 14:58:25,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:25,398 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-10 14:58:25,399 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-10 14:58:25,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:25,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:25,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 14:58:25,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 14:58:25,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-10 14:58:25,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2020-07-10 14:58:25,402 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 19 [2020-07-10 14:58:25,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 14:58:25,403 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2020-07-10 14:58:25,403 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 14:58:25,403 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2020-07-10 14:58:25,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-10 14:58:25,404 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:25,404 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:25,405 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 14:58:25,405 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:25,405 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:25,405 INFO L82 PathProgramCache]: Analyzing trace with hash 1029702107, now seen corresponding path program 1 times [2020-07-10 14:58:25,406 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:25,406 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143316809] [2020-07-10 14:58:25,406 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:25,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,451 INFO L280 TraceCheckUtils]: 0: Hoare triple {335#true} assume true; {335#true} is VALID [2020-07-10 14:58:25,451 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {335#true} {335#true} #36#return; {335#true} is VALID [2020-07-10 14:58:25,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,555 INFO L280 TraceCheckUtils]: 0: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,557 INFO L280 TraceCheckUtils]: 1: Hoare triple {356#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,558 INFO L280 TraceCheckUtils]: 2: Hoare triple {374#(= 0 |id_#in~x|)} assume true; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,559 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {374#(= 0 |id_#in~x|)} {368#(= id2_~x |id2_#in~x|)} #34#return; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,560 INFO L280 TraceCheckUtils]: 0: Hoare triple {335#true} ~x := #in~x; {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,561 INFO L280 TraceCheckUtils]: 1: Hoare triple {368#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,561 INFO L263 TraceCheckUtils]: 2: Hoare triple {368#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,562 INFO L280 TraceCheckUtils]: 3: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,563 INFO L280 TraceCheckUtils]: 4: Hoare triple {356#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,563 INFO L280 TraceCheckUtils]: 5: Hoare triple {374#(= 0 |id_#in~x|)} assume true; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,565 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {374#(= 0 |id_#in~x|)} {368#(= id2_~x |id2_#in~x|)} #34#return; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,566 INFO L280 TraceCheckUtils]: 7: Hoare triple {373#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,567 INFO L280 TraceCheckUtils]: 8: Hoare triple {373#(<= |id2_#in~x| 1)} assume true; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,568 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {373#(<= |id2_#in~x| 1)} {356#(= |id_#in~x| id_~x)} #42#return; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,569 INFO L280 TraceCheckUtils]: 0: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,570 INFO L280 TraceCheckUtils]: 1: Hoare triple {356#(= |id_#in~x| id_~x)} assume !(0 == ~x); {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,570 INFO L263 TraceCheckUtils]: 2: Hoare triple {356#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,571 INFO L280 TraceCheckUtils]: 3: Hoare triple {335#true} ~x := #in~x; {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,572 INFO L280 TraceCheckUtils]: 4: Hoare triple {368#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,572 INFO L263 TraceCheckUtils]: 5: Hoare triple {368#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,573 INFO L280 TraceCheckUtils]: 6: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,574 INFO L280 TraceCheckUtils]: 7: Hoare triple {356#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,574 INFO L280 TraceCheckUtils]: 8: Hoare triple {374#(= 0 |id_#in~x|)} assume true; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,576 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {374#(= 0 |id_#in~x|)} {368#(= id2_~x |id2_#in~x|)} #34#return; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,577 INFO L280 TraceCheckUtils]: 10: Hoare triple {373#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,577 INFO L280 TraceCheckUtils]: 11: Hoare triple {373#(<= |id2_#in~x| 1)} assume true; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,579 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {373#(<= |id2_#in~x| 1)} {356#(= |id_#in~x| id_~x)} #42#return; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,580 INFO L280 TraceCheckUtils]: 13: Hoare triple {367#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,581 INFO L280 TraceCheckUtils]: 14: Hoare triple {367#(<= |id_#in~x| 2)} assume true; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,582 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {367#(<= |id_#in~x| 2)} {339#(<= 5 main_~input~0)} #40#return; {336#false} is VALID [2020-07-10 14:58:25,583 INFO L263 TraceCheckUtils]: 0: Hoare triple {335#true} call ULTIMATE.init(); {335#true} is VALID [2020-07-10 14:58:25,583 INFO L280 TraceCheckUtils]: 1: Hoare triple {335#true} assume true; {335#true} is VALID [2020-07-10 14:58:25,584 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {335#true} {335#true} #36#return; {335#true} is VALID [2020-07-10 14:58:25,584 INFO L263 TraceCheckUtils]: 3: Hoare triple {335#true} call #t~ret3 := main(); {335#true} is VALID [2020-07-10 14:58:25,585 INFO L280 TraceCheckUtils]: 4: Hoare triple {335#true} ~input~0 := 5; {339#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:25,585 INFO L263 TraceCheckUtils]: 5: Hoare triple {339#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {335#true} is VALID [2020-07-10 14:58:25,586 INFO L280 TraceCheckUtils]: 6: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,587 INFO L280 TraceCheckUtils]: 7: Hoare triple {356#(= |id_#in~x| id_~x)} assume !(0 == ~x); {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,587 INFO L263 TraceCheckUtils]: 8: Hoare triple {356#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,588 INFO L280 TraceCheckUtils]: 9: Hoare triple {335#true} ~x := #in~x; {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,588 INFO L280 TraceCheckUtils]: 10: Hoare triple {368#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {368#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:25,589 INFO L263 TraceCheckUtils]: 11: Hoare triple {368#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,590 INFO L280 TraceCheckUtils]: 12: Hoare triple {335#true} ~x := #in~x; {356#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,591 INFO L280 TraceCheckUtils]: 13: Hoare triple {356#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,592 INFO L280 TraceCheckUtils]: 14: Hoare triple {374#(= 0 |id_#in~x|)} assume true; {374#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:25,594 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {374#(= 0 |id_#in~x|)} {368#(= id2_~x |id2_#in~x|)} #34#return; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,595 INFO L280 TraceCheckUtils]: 16: Hoare triple {373#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,595 INFO L280 TraceCheckUtils]: 17: Hoare triple {373#(<= |id2_#in~x| 1)} assume true; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,597 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {373#(<= |id2_#in~x| 1)} {356#(= |id_#in~x| id_~x)} #42#return; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,598 INFO L280 TraceCheckUtils]: 19: Hoare triple {367#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,598 INFO L280 TraceCheckUtils]: 20: Hoare triple {367#(<= |id_#in~x| 2)} assume true; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,600 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {367#(<= |id_#in~x| 2)} {339#(<= 5 main_~input~0)} #40#return; {336#false} is VALID [2020-07-10 14:58:25,600 INFO L280 TraceCheckUtils]: 22: Hoare triple {336#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {336#false} is VALID [2020-07-10 14:58:25,601 INFO L280 TraceCheckUtils]: 23: Hoare triple {336#false} assume 5 == ~result~0; {336#false} is VALID [2020-07-10 14:58:25,601 INFO L280 TraceCheckUtils]: 24: Hoare triple {336#false} assume !false; {336#false} is VALID [2020-07-10 14:58:25,602 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-10 14:58:25,603 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143316809] [2020-07-10 14:58:25,603 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [501748882] [2020-07-10 14:58:25,603 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 14:58:25,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,647 INFO L264 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-10 14:58:25,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:25,662 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 14:58:25,850 INFO L263 TraceCheckUtils]: 0: Hoare triple {335#true} call ULTIMATE.init(); {335#true} is VALID [2020-07-10 14:58:25,851 INFO L280 TraceCheckUtils]: 1: Hoare triple {335#true} assume true; {335#true} is VALID [2020-07-10 14:58:25,851 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {335#true} {335#true} #36#return; {335#true} is VALID [2020-07-10 14:58:25,852 INFO L263 TraceCheckUtils]: 3: Hoare triple {335#true} call #t~ret3 := main(); {335#true} is VALID [2020-07-10 14:58:25,852 INFO L280 TraceCheckUtils]: 4: Hoare triple {335#true} ~input~0 := 5; {339#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:25,853 INFO L263 TraceCheckUtils]: 5: Hoare triple {339#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {335#true} is VALID [2020-07-10 14:58:25,854 INFO L280 TraceCheckUtils]: 6: Hoare triple {335#true} ~x := #in~x; {396#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,854 INFO L280 TraceCheckUtils]: 7: Hoare triple {396#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {396#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,855 INFO L263 TraceCheckUtils]: 8: Hoare triple {396#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,855 INFO L280 TraceCheckUtils]: 9: Hoare triple {335#true} ~x := #in~x; {406#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:25,856 INFO L280 TraceCheckUtils]: 10: Hoare triple {406#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {406#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:25,857 INFO L263 TraceCheckUtils]: 11: Hoare triple {406#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {335#true} is VALID [2020-07-10 14:58:25,857 INFO L280 TraceCheckUtils]: 12: Hoare triple {335#true} ~x := #in~x; {396#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:25,858 INFO L280 TraceCheckUtils]: 13: Hoare triple {396#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {419#(<= |id_#in~x| 0)} is VALID [2020-07-10 14:58:25,859 INFO L280 TraceCheckUtils]: 14: Hoare triple {419#(<= |id_#in~x| 0)} assume true; {419#(<= |id_#in~x| 0)} is VALID [2020-07-10 14:58:25,861 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {419#(<= |id_#in~x| 0)} {406#(<= |id2_#in~x| id2_~x)} #34#return; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,861 INFO L280 TraceCheckUtils]: 16: Hoare triple {373#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,870 INFO L280 TraceCheckUtils]: 17: Hoare triple {373#(<= |id2_#in~x| 1)} assume true; {373#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:25,872 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {373#(<= |id2_#in~x| 1)} {396#(<= |id_#in~x| id_~x)} #42#return; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,873 INFO L280 TraceCheckUtils]: 19: Hoare triple {367#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,877 INFO L280 TraceCheckUtils]: 20: Hoare triple {367#(<= |id_#in~x| 2)} assume true; {367#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:25,879 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {367#(<= |id_#in~x| 2)} {339#(<= 5 main_~input~0)} #40#return; {336#false} is VALID [2020-07-10 14:58:25,879 INFO L280 TraceCheckUtils]: 22: Hoare triple {336#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {336#false} is VALID [2020-07-10 14:58:25,879 INFO L280 TraceCheckUtils]: 23: Hoare triple {336#false} assume 5 == ~result~0; {336#false} is VALID [2020-07-10 14:58:25,880 INFO L280 TraceCheckUtils]: 24: Hoare triple {336#false} assume !false; {336#false} is VALID [2020-07-10 14:58:25,881 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-10 14:58:25,882 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 14:58:25,882 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2020-07-10 14:58:25,882 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1442396643] [2020-07-10 14:58:25,883 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-10 14:58:25,884 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 14:58:25,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-10 14:58:25,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:25,927 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-10 14:58:25,927 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 14:58:25,928 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-10 14:58:25,928 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-10 14:58:25,928 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 11 states. [2020-07-10 14:58:26,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:26,231 INFO L93 Difference]: Finished difference Result 39 states and 41 transitions. [2020-07-10 14:58:26,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-10 14:58:26,232 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-10 14:58:26,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 14:58:26,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 14:58:26,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-10 14:58:26,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 14:58:26,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-10 14:58:26,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 36 transitions. [2020-07-10 14:58:26,284 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:26,286 INFO L225 Difference]: With dead ends: 39 [2020-07-10 14:58:26,286 INFO L226 Difference]: Without dead ends: 35 [2020-07-10 14:58:26,287 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2020-07-10 14:58:26,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2020-07-10 14:58:26,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 30. [2020-07-10 14:58:26,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 14:58:26,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 30 states. [2020-07-10 14:58:26,297 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 30 states. [2020-07-10 14:58:26,298 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 30 states. [2020-07-10 14:58:26,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:26,301 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-10 14:58:26,301 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2020-07-10 14:58:26,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:26,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:26,302 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 35 states. [2020-07-10 14:58:26,302 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 35 states. [2020-07-10 14:58:26,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:26,305 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-10 14:58:26,305 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2020-07-10 14:58:26,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:26,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:26,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 14:58:26,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 14:58:26,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-10 14:58:26,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 32 transitions. [2020-07-10 14:58:26,308 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 32 transitions. Word has length 25 [2020-07-10 14:58:26,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 14:58:26,308 INFO L479 AbstractCegarLoop]: Abstraction has 30 states and 32 transitions. [2020-07-10 14:58:26,309 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-10 14:58:26,309 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2020-07-10 14:58:26,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-10 14:58:26,310 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:26,310 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:26,524 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-10 14:58:26,524 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:26,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:26,525 INFO L82 PathProgramCache]: Analyzing trace with hash -559715991, now seen corresponding path program 1 times [2020-07-10 14:58:26,525 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:26,526 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2096263899] [2020-07-10 14:58:26,526 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:26,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,562 INFO L280 TraceCheckUtils]: 0: Hoare triple {615#true} assume true; {615#true} is VALID [2020-07-10 14:58:26,563 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {615#true} {615#true} #36#return; {615#true} is VALID [2020-07-10 14:58:26,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,697 INFO L280 TraceCheckUtils]: 0: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,698 INFO L280 TraceCheckUtils]: 1: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,698 INFO L280 TraceCheckUtils]: 2: Hoare triple {677#(= 0 |id2_#in~x|)} assume true; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,699 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {677#(= 0 |id2_#in~x|)} {642#(= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,700 INFO L280 TraceCheckUtils]: 0: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,701 INFO L280 TraceCheckUtils]: 1: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,701 INFO L263 TraceCheckUtils]: 2: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,702 INFO L280 TraceCheckUtils]: 3: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,702 INFO L280 TraceCheckUtils]: 4: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,703 INFO L280 TraceCheckUtils]: 5: Hoare triple {677#(= 0 |id2_#in~x|)} assume true; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,704 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {677#(= 0 |id2_#in~x|)} {642#(= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,705 INFO L280 TraceCheckUtils]: 7: Hoare triple {676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,705 INFO L280 TraceCheckUtils]: 8: Hoare triple {676#(<= |id_#in~x| 1)} assume true; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,707 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {676#(<= |id_#in~x| 1)} {660#(= id2_~x |id2_#in~x|)} #34#return; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,708 INFO L280 TraceCheckUtils]: 0: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,708 INFO L280 TraceCheckUtils]: 1: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,709 INFO L263 TraceCheckUtils]: 2: Hoare triple {660#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,709 INFO L280 TraceCheckUtils]: 3: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,710 INFO L280 TraceCheckUtils]: 4: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,710 INFO L263 TraceCheckUtils]: 5: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,711 INFO L280 TraceCheckUtils]: 6: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,712 INFO L280 TraceCheckUtils]: 7: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,712 INFO L280 TraceCheckUtils]: 8: Hoare triple {677#(= 0 |id2_#in~x|)} assume true; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,713 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {677#(= 0 |id2_#in~x|)} {642#(= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,714 INFO L280 TraceCheckUtils]: 10: Hoare triple {676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,715 INFO L280 TraceCheckUtils]: 11: Hoare triple {676#(<= |id_#in~x| 1)} assume true; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,716 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {676#(<= |id_#in~x| 1)} {660#(= id2_~x |id2_#in~x|)} #34#return; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,717 INFO L280 TraceCheckUtils]: 13: Hoare triple {671#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,717 INFO L280 TraceCheckUtils]: 14: Hoare triple {671#(<= |id2_#in~x| 2)} assume true; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,719 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {671#(<= |id2_#in~x| 2)} {642#(= |id_#in~x| id_~x)} #42#return; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,720 INFO L280 TraceCheckUtils]: 0: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,720 INFO L280 TraceCheckUtils]: 1: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,721 INFO L263 TraceCheckUtils]: 2: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,721 INFO L280 TraceCheckUtils]: 3: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,722 INFO L280 TraceCheckUtils]: 4: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,722 INFO L263 TraceCheckUtils]: 5: Hoare triple {660#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,723 INFO L280 TraceCheckUtils]: 6: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,723 INFO L280 TraceCheckUtils]: 7: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,724 INFO L263 TraceCheckUtils]: 8: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,724 INFO L280 TraceCheckUtils]: 9: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,725 INFO L280 TraceCheckUtils]: 10: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,725 INFO L280 TraceCheckUtils]: 11: Hoare triple {677#(= 0 |id2_#in~x|)} assume true; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,727 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {677#(= 0 |id2_#in~x|)} {642#(= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,727 INFO L280 TraceCheckUtils]: 13: Hoare triple {676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,728 INFO L280 TraceCheckUtils]: 14: Hoare triple {676#(<= |id_#in~x| 1)} assume true; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,729 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {676#(<= |id_#in~x| 1)} {660#(= id2_~x |id2_#in~x|)} #34#return; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,730 INFO L280 TraceCheckUtils]: 16: Hoare triple {671#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,730 INFO L280 TraceCheckUtils]: 17: Hoare triple {671#(<= |id2_#in~x| 2)} assume true; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,731 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {671#(<= |id2_#in~x| 2)} {642#(= |id_#in~x| id_~x)} #42#return; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,732 INFO L280 TraceCheckUtils]: 19: Hoare triple {659#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,733 INFO L280 TraceCheckUtils]: 20: Hoare triple {659#(<= |id_#in~x| 3)} assume true; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,734 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {659#(<= |id_#in~x| 3)} {619#(<= 5 main_~input~0)} #40#return; {616#false} is VALID [2020-07-10 14:58:26,735 INFO L263 TraceCheckUtils]: 0: Hoare triple {615#true} call ULTIMATE.init(); {615#true} is VALID [2020-07-10 14:58:26,735 INFO L280 TraceCheckUtils]: 1: Hoare triple {615#true} assume true; {615#true} is VALID [2020-07-10 14:58:26,735 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {615#true} {615#true} #36#return; {615#true} is VALID [2020-07-10 14:58:26,735 INFO L263 TraceCheckUtils]: 3: Hoare triple {615#true} call #t~ret3 := main(); {615#true} is VALID [2020-07-10 14:58:26,736 INFO L280 TraceCheckUtils]: 4: Hoare triple {615#true} ~input~0 := 5; {619#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:26,736 INFO L263 TraceCheckUtils]: 5: Hoare triple {619#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {615#true} is VALID [2020-07-10 14:58:26,737 INFO L280 TraceCheckUtils]: 6: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,738 INFO L280 TraceCheckUtils]: 7: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,738 INFO L263 TraceCheckUtils]: 8: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,738 INFO L280 TraceCheckUtils]: 9: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,739 INFO L280 TraceCheckUtils]: 10: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,739 INFO L263 TraceCheckUtils]: 11: Hoare triple {660#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,740 INFO L280 TraceCheckUtils]: 12: Hoare triple {615#true} ~x := #in~x; {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,740 INFO L280 TraceCheckUtils]: 13: Hoare triple {642#(= |id_#in~x| id_~x)} assume !(0 == ~x); {642#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,741 INFO L263 TraceCheckUtils]: 14: Hoare triple {642#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,741 INFO L280 TraceCheckUtils]: 15: Hoare triple {615#true} ~x := #in~x; {660#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:26,742 INFO L280 TraceCheckUtils]: 16: Hoare triple {660#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,743 INFO L280 TraceCheckUtils]: 17: Hoare triple {677#(= 0 |id2_#in~x|)} assume true; {677#(= 0 |id2_#in~x|)} is VALID [2020-07-10 14:58:26,744 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {677#(= 0 |id2_#in~x|)} {642#(= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,744 INFO L280 TraceCheckUtils]: 19: Hoare triple {676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,745 INFO L280 TraceCheckUtils]: 20: Hoare triple {676#(<= |id_#in~x| 1)} assume true; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,746 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {676#(<= |id_#in~x| 1)} {660#(= id2_~x |id2_#in~x|)} #34#return; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,747 INFO L280 TraceCheckUtils]: 22: Hoare triple {671#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,748 INFO L280 TraceCheckUtils]: 23: Hoare triple {671#(<= |id2_#in~x| 2)} assume true; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,749 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {671#(<= |id2_#in~x| 2)} {642#(= |id_#in~x| id_~x)} #42#return; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,749 INFO L280 TraceCheckUtils]: 25: Hoare triple {659#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,750 INFO L280 TraceCheckUtils]: 26: Hoare triple {659#(<= |id_#in~x| 3)} assume true; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,751 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {659#(<= |id_#in~x| 3)} {619#(<= 5 main_~input~0)} #40#return; {616#false} is VALID [2020-07-10 14:58:26,751 INFO L280 TraceCheckUtils]: 28: Hoare triple {616#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {616#false} is VALID [2020-07-10 14:58:26,752 INFO L280 TraceCheckUtils]: 29: Hoare triple {616#false} assume 5 == ~result~0; {616#false} is VALID [2020-07-10 14:58:26,752 INFO L280 TraceCheckUtils]: 30: Hoare triple {616#false} assume !false; {616#false} is VALID [2020-07-10 14:58:26,753 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-10 14:58:26,754 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2096263899] [2020-07-10 14:58:26,754 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [445147866] [2020-07-10 14:58:26,754 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2020-07-10 14:58:26,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,780 INFO L264 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 10 conjunts are in the unsatisfiable core Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 14:58:26,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:26,791 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 14:58:26,936 INFO L263 TraceCheckUtils]: 0: Hoare triple {615#true} call ULTIMATE.init(); {615#true} is VALID [2020-07-10 14:58:26,936 INFO L280 TraceCheckUtils]: 1: Hoare triple {615#true} assume true; {615#true} is VALID [2020-07-10 14:58:26,936 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {615#true} {615#true} #36#return; {615#true} is VALID [2020-07-10 14:58:26,937 INFO L263 TraceCheckUtils]: 3: Hoare triple {615#true} call #t~ret3 := main(); {615#true} is VALID [2020-07-10 14:58:26,937 INFO L280 TraceCheckUtils]: 4: Hoare triple {615#true} ~input~0 := 5; {619#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:26,938 INFO L263 TraceCheckUtils]: 5: Hoare triple {619#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {615#true} is VALID [2020-07-10 14:58:26,938 INFO L280 TraceCheckUtils]: 6: Hoare triple {615#true} ~x := #in~x; {699#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,939 INFO L280 TraceCheckUtils]: 7: Hoare triple {699#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {699#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,939 INFO L263 TraceCheckUtils]: 8: Hoare triple {699#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,940 INFO L280 TraceCheckUtils]: 9: Hoare triple {615#true} ~x := #in~x; {709#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:26,940 INFO L280 TraceCheckUtils]: 10: Hoare triple {709#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {709#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:26,941 INFO L263 TraceCheckUtils]: 11: Hoare triple {709#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,941 INFO L280 TraceCheckUtils]: 12: Hoare triple {615#true} ~x := #in~x; {699#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,942 INFO L280 TraceCheckUtils]: 13: Hoare triple {699#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {699#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:26,942 INFO L263 TraceCheckUtils]: 14: Hoare triple {699#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {615#true} is VALID [2020-07-10 14:58:26,943 INFO L280 TraceCheckUtils]: 15: Hoare triple {615#true} ~x := #in~x; {709#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:26,943 INFO L280 TraceCheckUtils]: 16: Hoare triple {709#(<= |id2_#in~x| id2_~x)} assume 0 == ~x;#res := 0; {731#(<= |id2_#in~x| 0)} is VALID [2020-07-10 14:58:26,944 INFO L280 TraceCheckUtils]: 17: Hoare triple {731#(<= |id2_#in~x| 0)} assume true; {731#(<= |id2_#in~x| 0)} is VALID [2020-07-10 14:58:26,945 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {731#(<= |id2_#in~x| 0)} {699#(<= |id_#in~x| id_~x)} #42#return; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,946 INFO L280 TraceCheckUtils]: 19: Hoare triple {676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,946 INFO L280 TraceCheckUtils]: 20: Hoare triple {676#(<= |id_#in~x| 1)} assume true; {676#(<= |id_#in~x| 1)} is VALID [2020-07-10 14:58:26,948 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {676#(<= |id_#in~x| 1)} {709#(<= |id2_#in~x| id2_~x)} #34#return; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,948 INFO L280 TraceCheckUtils]: 22: Hoare triple {671#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,949 INFO L280 TraceCheckUtils]: 23: Hoare triple {671#(<= |id2_#in~x| 2)} assume true; {671#(<= |id2_#in~x| 2)} is VALID [2020-07-10 14:58:26,950 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {671#(<= |id2_#in~x| 2)} {699#(<= |id_#in~x| id_~x)} #42#return; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,951 INFO L280 TraceCheckUtils]: 25: Hoare triple {659#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,951 INFO L280 TraceCheckUtils]: 26: Hoare triple {659#(<= |id_#in~x| 3)} assume true; {659#(<= |id_#in~x| 3)} is VALID [2020-07-10 14:58:26,952 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {659#(<= |id_#in~x| 3)} {619#(<= 5 main_~input~0)} #40#return; {616#false} is VALID [2020-07-10 14:58:26,952 INFO L280 TraceCheckUtils]: 28: Hoare triple {616#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {616#false} is VALID [2020-07-10 14:58:26,953 INFO L280 TraceCheckUtils]: 29: Hoare triple {616#false} assume 5 == ~result~0; {616#false} is VALID [2020-07-10 14:58:26,953 INFO L280 TraceCheckUtils]: 30: Hoare triple {616#false} assume !false; {616#false} is VALID [2020-07-10 14:58:26,954 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-10 14:58:26,954 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 14:58:26,955 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2020-07-10 14:58:26,955 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1361731196] [2020-07-10 14:58:26,956 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 31 [2020-07-10 14:58:26,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 14:58:26,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 14:58:26,999 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:26,999 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 14:58:26,999 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 14:58:26,999 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 14:58:27,000 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2020-07-10 14:58:27,000 INFO L87 Difference]: Start difference. First operand 30 states and 32 transitions. Second operand 12 states. [2020-07-10 14:58:27,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:27,303 INFO L93 Difference]: Finished difference Result 45 states and 47 transitions. [2020-07-10 14:58:27,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 14:58:27,303 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 31 [2020-07-10 14:58:27,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 14:58:27,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 14:58:27,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 39 transitions. [2020-07-10 14:58:27,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 14:58:27,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 39 transitions. [2020-07-10 14:58:27,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 39 transitions. [2020-07-10 14:58:27,357 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:27,359 INFO L225 Difference]: With dead ends: 45 [2020-07-10 14:58:27,359 INFO L226 Difference]: Without dead ends: 41 [2020-07-10 14:58:27,360 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=188, Unknown=0, NotChecked=0, Total=240 [2020-07-10 14:58:27,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-10 14:58:27,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 33. [2020-07-10 14:58:27,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 14:58:27,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 33 states. [2020-07-10 14:58:27,384 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 33 states. [2020-07-10 14:58:27,384 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 33 states. [2020-07-10 14:58:27,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:27,389 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2020-07-10 14:58:27,389 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2020-07-10 14:58:27,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:27,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:27,390 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 41 states. [2020-07-10 14:58:27,390 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 41 states. [2020-07-10 14:58:27,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:27,398 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2020-07-10 14:58:27,398 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2020-07-10 14:58:27,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:27,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:27,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 14:58:27,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 14:58:27,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2020-07-10 14:58:27,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2020-07-10 14:58:27,401 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 31 [2020-07-10 14:58:27,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 14:58:27,403 INFO L479 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2020-07-10 14:58:27,403 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 14:58:27,403 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2020-07-10 14:58:27,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-10 14:58:27,405 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:27,405 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:27,621 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 14:58:27,622 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:27,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:27,623 INFO L82 PathProgramCache]: Analyzing trace with hash 2003326827, now seen corresponding path program 2 times [2020-07-10 14:58:27,623 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:27,624 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [213002389] [2020-07-10 14:58:27,624 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:27,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,686 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} assume true; {959#true} is VALID [2020-07-10 14:58:27,686 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {959#true} {959#true} #36#return; {959#true} is VALID [2020-07-10 14:58:27,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:27,908 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,911 INFO L280 TraceCheckUtils]: 1: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,911 INFO L280 TraceCheckUtils]: 2: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,913 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,913 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,914 INFO L280 TraceCheckUtils]: 1: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,914 INFO L263 TraceCheckUtils]: 2: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,914 INFO L280 TraceCheckUtils]: 3: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,915 INFO L280 TraceCheckUtils]: 4: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,915 INFO L280 TraceCheckUtils]: 5: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,919 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,920 INFO L280 TraceCheckUtils]: 7: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,921 INFO L280 TraceCheckUtils]: 8: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,922 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {992#(= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,923 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,923 INFO L280 TraceCheckUtils]: 1: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,923 INFO L263 TraceCheckUtils]: 2: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,924 INFO L280 TraceCheckUtils]: 3: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,925 INFO L280 TraceCheckUtils]: 4: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,925 INFO L263 TraceCheckUtils]: 5: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,926 INFO L280 TraceCheckUtils]: 6: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,926 INFO L280 TraceCheckUtils]: 7: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,927 INFO L280 TraceCheckUtils]: 8: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,928 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,929 INFO L280 TraceCheckUtils]: 10: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,929 INFO L280 TraceCheckUtils]: 11: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,931 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {992#(= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,931 INFO L280 TraceCheckUtils]: 13: Hoare triple {1044#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,932 INFO L280 TraceCheckUtils]: 14: Hoare triple {1044#(<= |id_#in~x| 2)} assume true; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,933 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {1044#(<= |id_#in~x| 2)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,934 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,936 INFO L280 TraceCheckUtils]: 1: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,936 INFO L263 TraceCheckUtils]: 2: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,937 INFO L280 TraceCheckUtils]: 3: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,939 INFO L280 TraceCheckUtils]: 4: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,940 INFO L263 TraceCheckUtils]: 5: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,941 INFO L280 TraceCheckUtils]: 6: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,942 INFO L280 TraceCheckUtils]: 7: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,942 INFO L263 TraceCheckUtils]: 8: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,943 INFO L280 TraceCheckUtils]: 9: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,946 INFO L280 TraceCheckUtils]: 10: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,947 INFO L280 TraceCheckUtils]: 11: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,948 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,950 INFO L280 TraceCheckUtils]: 13: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,950 INFO L280 TraceCheckUtils]: 14: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,952 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {992#(= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,953 INFO L280 TraceCheckUtils]: 16: Hoare triple {1044#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,955 INFO L280 TraceCheckUtils]: 17: Hoare triple {1044#(<= |id_#in~x| 2)} assume true; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,957 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1044#(<= |id_#in~x| 2)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,958 INFO L280 TraceCheckUtils]: 19: Hoare triple {1033#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,967 INFO L280 TraceCheckUtils]: 20: Hoare triple {1033#(<= |id2_#in~x| 3)} assume true; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,972 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1033#(<= |id2_#in~x| 3)} {992#(= |id_#in~x| id_~x)} #42#return; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:27,973 INFO L280 TraceCheckUtils]: 0: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,974 INFO L280 TraceCheckUtils]: 1: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,974 INFO L263 TraceCheckUtils]: 2: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,975 INFO L280 TraceCheckUtils]: 3: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,975 INFO L280 TraceCheckUtils]: 4: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,976 INFO L263 TraceCheckUtils]: 5: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,976 INFO L280 TraceCheckUtils]: 6: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,976 INFO L280 TraceCheckUtils]: 7: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,977 INFO L263 TraceCheckUtils]: 8: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,977 INFO L280 TraceCheckUtils]: 9: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,977 INFO L280 TraceCheckUtils]: 10: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,978 INFO L263 TraceCheckUtils]: 11: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,978 INFO L280 TraceCheckUtils]: 12: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,980 INFO L280 TraceCheckUtils]: 13: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,980 INFO L280 TraceCheckUtils]: 14: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:27,981 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,982 INFO L280 TraceCheckUtils]: 16: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,982 INFO L280 TraceCheckUtils]: 17: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:27,983 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {992#(= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,984 INFO L280 TraceCheckUtils]: 19: Hoare triple {1044#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,985 INFO L280 TraceCheckUtils]: 20: Hoare triple {1044#(<= |id_#in~x| 2)} assume true; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:27,986 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1044#(<= |id_#in~x| 2)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,986 INFO L280 TraceCheckUtils]: 22: Hoare triple {1033#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,987 INFO L280 TraceCheckUtils]: 23: Hoare triple {1033#(<= |id2_#in~x| 3)} assume true; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:27,988 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1033#(<= |id2_#in~x| 3)} {992#(= |id_#in~x| id_~x)} #42#return; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:27,988 INFO L280 TraceCheckUtils]: 25: Hoare triple {1015#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:27,989 INFO L280 TraceCheckUtils]: 26: Hoare triple {1015#(<= |id_#in~x| 4)} assume true; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:27,990 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1015#(<= |id_#in~x| 4)} {963#(<= 5 main_~input~0)} #40#return; {960#false} is VALID [2020-07-10 14:58:27,991 INFO L263 TraceCheckUtils]: 0: Hoare triple {959#true} call ULTIMATE.init(); {959#true} is VALID [2020-07-10 14:58:27,991 INFO L280 TraceCheckUtils]: 1: Hoare triple {959#true} assume true; {959#true} is VALID [2020-07-10 14:58:27,991 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {959#true} {959#true} #36#return; {959#true} is VALID [2020-07-10 14:58:27,992 INFO L263 TraceCheckUtils]: 3: Hoare triple {959#true} call #t~ret3 := main(); {959#true} is VALID [2020-07-10 14:58:27,992 INFO L280 TraceCheckUtils]: 4: Hoare triple {959#true} ~input~0 := 5; {963#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:27,992 INFO L263 TraceCheckUtils]: 5: Hoare triple {963#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {959#true} is VALID [2020-07-10 14:58:27,993 INFO L280 TraceCheckUtils]: 6: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,995 INFO L280 TraceCheckUtils]: 7: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:27,996 INFO L263 TraceCheckUtils]: 8: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:27,997 INFO L280 TraceCheckUtils]: 9: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:27,999 INFO L280 TraceCheckUtils]: 10: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:28,000 INFO L263 TraceCheckUtils]: 11: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,000 INFO L280 TraceCheckUtils]: 12: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,001 INFO L280 TraceCheckUtils]: 13: Hoare triple {992#(= |id_#in~x| id_~x)} assume !(0 == ~x); {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,001 INFO L263 TraceCheckUtils]: 14: Hoare triple {992#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,002 INFO L280 TraceCheckUtils]: 15: Hoare triple {959#true} ~x := #in~x; {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:28,002 INFO L280 TraceCheckUtils]: 16: Hoare triple {1016#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {1016#(= id2_~x |id2_#in~x|)} is VALID [2020-07-10 14:58:28,002 INFO L263 TraceCheckUtils]: 17: Hoare triple {1016#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,003 INFO L280 TraceCheckUtils]: 18: Hoare triple {959#true} ~x := #in~x; {992#(= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,003 INFO L280 TraceCheckUtils]: 19: Hoare triple {992#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:28,004 INFO L280 TraceCheckUtils]: 20: Hoare triple {1050#(= 0 |id_#in~x|)} assume true; {1050#(= 0 |id_#in~x|)} is VALID [2020-07-10 14:58:28,005 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1050#(= 0 |id_#in~x|)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,005 INFO L280 TraceCheckUtils]: 22: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,006 INFO L280 TraceCheckUtils]: 23: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,007 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {992#(= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,008 INFO L280 TraceCheckUtils]: 25: Hoare triple {1044#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,008 INFO L280 TraceCheckUtils]: 26: Hoare triple {1044#(<= |id_#in~x| 2)} assume true; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,010 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1044#(<= |id_#in~x| 2)} {1016#(= id2_~x |id2_#in~x|)} #34#return; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,010 INFO L280 TraceCheckUtils]: 28: Hoare triple {1033#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,011 INFO L280 TraceCheckUtils]: 29: Hoare triple {1033#(<= |id2_#in~x| 3)} assume true; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,012 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1033#(<= |id2_#in~x| 3)} {992#(= |id_#in~x| id_~x)} #42#return; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,013 INFO L280 TraceCheckUtils]: 31: Hoare triple {1015#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,013 INFO L280 TraceCheckUtils]: 32: Hoare triple {1015#(<= |id_#in~x| 4)} assume true; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,014 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1015#(<= |id_#in~x| 4)} {963#(<= 5 main_~input~0)} #40#return; {960#false} is VALID [2020-07-10 14:58:28,014 INFO L280 TraceCheckUtils]: 34: Hoare triple {960#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {960#false} is VALID [2020-07-10 14:58:28,015 INFO L280 TraceCheckUtils]: 35: Hoare triple {960#false} assume 5 == ~result~0; {960#false} is VALID [2020-07-10 14:58:28,015 INFO L280 TraceCheckUtils]: 36: Hoare triple {960#false} assume !false; {960#false} is VALID [2020-07-10 14:58:28,016 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-10 14:58:28,017 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [213002389] [2020-07-10 14:58:28,017 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1961562830] [2020-07-10 14:58:28,017 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 14:58:28,055 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-10 14:58:28,055 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 14:58:28,056 INFO L264 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-10 14:58:28,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 14:58:28,069 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 14:58:28,226 INFO L263 TraceCheckUtils]: 0: Hoare triple {959#true} call ULTIMATE.init(); {959#true} is VALID [2020-07-10 14:58:28,226 INFO L280 TraceCheckUtils]: 1: Hoare triple {959#true} assume true; {959#true} is VALID [2020-07-10 14:58:28,227 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {959#true} {959#true} #36#return; {959#true} is VALID [2020-07-10 14:58:28,227 INFO L263 TraceCheckUtils]: 3: Hoare triple {959#true} call #t~ret3 := main(); {959#true} is VALID [2020-07-10 14:58:28,227 INFO L280 TraceCheckUtils]: 4: Hoare triple {959#true} ~input~0 := 5; {963#(<= 5 main_~input~0)} is VALID [2020-07-10 14:58:28,228 INFO L263 TraceCheckUtils]: 5: Hoare triple {963#(<= 5 main_~input~0)} call #t~ret2 := id(~input~0); {959#true} is VALID [2020-07-10 14:58:28,228 INFO L280 TraceCheckUtils]: 6: Hoare triple {959#true} ~x := #in~x; {1072#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,229 INFO L280 TraceCheckUtils]: 7: Hoare triple {1072#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1072#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,229 INFO L263 TraceCheckUtils]: 8: Hoare triple {1072#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,231 INFO L280 TraceCheckUtils]: 9: Hoare triple {959#true} ~x := #in~x; {1082#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:28,231 INFO L280 TraceCheckUtils]: 10: Hoare triple {1082#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {1082#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:28,231 INFO L263 TraceCheckUtils]: 11: Hoare triple {1082#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,234 INFO L280 TraceCheckUtils]: 12: Hoare triple {959#true} ~x := #in~x; {1072#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,236 INFO L280 TraceCheckUtils]: 13: Hoare triple {1072#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1072#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,236 INFO L263 TraceCheckUtils]: 14: Hoare triple {1072#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,241 INFO L280 TraceCheckUtils]: 15: Hoare triple {959#true} ~x := #in~x; {1082#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:28,242 INFO L280 TraceCheckUtils]: 16: Hoare triple {1082#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {1082#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-10 14:58:28,242 INFO L263 TraceCheckUtils]: 17: Hoare triple {1082#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {959#true} is VALID [2020-07-10 14:58:28,244 INFO L280 TraceCheckUtils]: 18: Hoare triple {959#true} ~x := #in~x; {1072#(<= |id_#in~x| id_~x)} is VALID [2020-07-10 14:58:28,245 INFO L280 TraceCheckUtils]: 19: Hoare triple {1072#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1113#(<= |id_#in~x| 0)} is VALID [2020-07-10 14:58:28,245 INFO L280 TraceCheckUtils]: 20: Hoare triple {1113#(<= |id_#in~x| 0)} assume true; {1113#(<= |id_#in~x| 0)} is VALID [2020-07-10 14:58:28,247 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1113#(<= |id_#in~x| 0)} {1082#(<= |id2_#in~x| id2_~x)} #34#return; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,247 INFO L280 TraceCheckUtils]: 22: Hoare triple {1049#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,248 INFO L280 TraceCheckUtils]: 23: Hoare triple {1049#(<= |id2_#in~x| 1)} assume true; {1049#(<= |id2_#in~x| 1)} is VALID [2020-07-10 14:58:28,249 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1049#(<= |id2_#in~x| 1)} {1072#(<= |id_#in~x| id_~x)} #42#return; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,249 INFO L280 TraceCheckUtils]: 25: Hoare triple {1044#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,250 INFO L280 TraceCheckUtils]: 26: Hoare triple {1044#(<= |id_#in~x| 2)} assume true; {1044#(<= |id_#in~x| 2)} is VALID [2020-07-10 14:58:28,251 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1044#(<= |id_#in~x| 2)} {1082#(<= |id2_#in~x| id2_~x)} #34#return; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,251 INFO L280 TraceCheckUtils]: 28: Hoare triple {1033#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,252 INFO L280 TraceCheckUtils]: 29: Hoare triple {1033#(<= |id2_#in~x| 3)} assume true; {1033#(<= |id2_#in~x| 3)} is VALID [2020-07-10 14:58:28,253 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1033#(<= |id2_#in~x| 3)} {1072#(<= |id_#in~x| id_~x)} #42#return; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,256 INFO L280 TraceCheckUtils]: 31: Hoare triple {1015#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,257 INFO L280 TraceCheckUtils]: 32: Hoare triple {1015#(<= |id_#in~x| 4)} assume true; {1015#(<= |id_#in~x| 4)} is VALID [2020-07-10 14:58:28,258 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1015#(<= |id_#in~x| 4)} {963#(<= 5 main_~input~0)} #40#return; {960#false} is VALID [2020-07-10 14:58:28,258 INFO L280 TraceCheckUtils]: 34: Hoare triple {960#false} assume -2147483648 <= #t~ret2 && #t~ret2 <= 2147483647;~result~0 := #t~ret2;havoc #t~ret2; {960#false} is VALID [2020-07-10 14:58:28,258 INFO L280 TraceCheckUtils]: 35: Hoare triple {960#false} assume 5 == ~result~0; {960#false} is VALID [2020-07-10 14:58:28,258 INFO L280 TraceCheckUtils]: 36: Hoare triple {960#false} assume !false; {960#false} is VALID [2020-07-10 14:58:28,260 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-10 14:58:28,261 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 14:58:28,261 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2020-07-10 14:58:28,261 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [946468236] [2020-07-10 14:58:28,262 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 37 [2020-07-10 14:58:28,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 14:58:28,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-10 14:58:28,316 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:28,317 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-10 14:58:28,317 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 14:58:28,317 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-10 14:58:28,317 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2020-07-10 14:58:28,318 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand 13 states. [2020-07-10 14:58:28,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:28,621 INFO L93 Difference]: Finished difference Result 51 states and 53 transitions. [2020-07-10 14:58:28,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 14:58:28,621 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 37 [2020-07-10 14:58:28,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 14:58:28,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-10 14:58:28,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2020-07-10 14:58:28,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-10 14:58:28,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2020-07-10 14:58:28,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 42 transitions. [2020-07-10 14:58:28,677 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 14:58:28,679 INFO L225 Difference]: With dead ends: 51 [2020-07-10 14:58:28,679 INFO L226 Difference]: Without dead ends: 47 [2020-07-10 14:58:28,681 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2020-07-10 14:58:28,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2020-07-10 14:58:28,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 36. [2020-07-10 14:58:28,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 14:58:28,692 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 36 states. [2020-07-10 14:58:28,693 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 36 states. [2020-07-10 14:58:28,693 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 36 states. [2020-07-10 14:58:28,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:28,696 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2020-07-10 14:58:28,696 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2020-07-10 14:58:28,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:28,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:28,697 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 47 states. [2020-07-10 14:58:28,698 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 47 states. [2020-07-10 14:58:28,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 14:58:28,700 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2020-07-10 14:58:28,701 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2020-07-10 14:58:28,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 14:58:28,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 14:58:28,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 14:58:28,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 14:58:28,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2020-07-10 14:58:28,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 38 transitions. [2020-07-10 14:58:28,705 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 38 transitions. Word has length 37 [2020-07-10 14:58:28,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 14:58:28,705 INFO L479 AbstractCegarLoop]: Abstraction has 36 states and 38 transitions. [2020-07-10 14:58:28,705 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-10 14:58:28,705 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 38 transitions. [2020-07-10 14:58:28,706 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2020-07-10 14:58:28,706 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 14:58:28,707 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 14:58:28,909 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 14:58:28,912 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 14:58:28,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 14:58:28,913 INFO L82 PathProgramCache]: Analyzing trace with hash 1197899385, now seen corresponding path program 2 times [2020-07-10 14:58:28,913 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 14:58:28,913 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [974435805] [2020-07-10 14:58:28,914 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 14:58:28,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 14:58:28,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 14:58:28,956 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 14:58:28,956 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 14:58:28,956 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 14:58:28,983 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 14:58:28,983 WARN L170 areAnnotationChecker]: id2ENTRY has no Hoare annotation [2020-07-10 14:58:28,983 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 14:58:28,983 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: idENTRY has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 14:58:28,984 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: id2FINAL has no Hoare annotation [2020-07-10 14:58:28,985 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: L19-1 has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: idFINAL has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2020-07-10 14:58:28,986 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: id2EXIT has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: L14-1 has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: idEXIT has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: idEXIT has no Hoare annotation [2020-07-10 14:58:28,987 WARN L170 areAnnotationChecker]: L9-1 has no Hoare annotation [2020-07-10 14:58:28,988 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-10 14:58:28,988 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-10 14:58:28,988 WARN L170 areAnnotationChecker]: L20-2 has no Hoare annotation [2020-07-10 14:58:28,988 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 14:58:28,988 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-10 14:58:28,991 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 02:58:28 BoogieIcfgContainer [2020-07-10 14:58:28,991 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 14:58:28,994 INFO L168 Benchmark]: Toolchain (without parser) took 5619.12 ms. Allocated memory was 138.9 MB in the beginning and 273.7 MB in the end (delta: 134.7 MB). Free memory was 104.1 MB in the beginning and 104.2 MB in the end (delta: -27.0 kB). Peak memory consumption was 134.7 MB. Max. memory is 7.1 GB. [2020-07-10 14:58:28,995 INFO L168 Benchmark]: CDTParser took 0.24 ms. Allocated memory is still 138.9 MB. Free memory was 122.0 MB in the beginning and 121.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-10 14:58:28,995 INFO L168 Benchmark]: CACSL2BoogieTranslator took 241.40 ms. Allocated memory is still 138.9 MB. Free memory was 103.7 MB in the beginning and 94.2 MB in the end (delta: 9.5 MB). Peak memory consumption was 9.5 MB. Max. memory is 7.1 GB. [2020-07-10 14:58:28,996 INFO L168 Benchmark]: Boogie Preprocessor took 108.70 ms. Allocated memory was 138.9 MB in the beginning and 202.9 MB in the end (delta: 64.0 MB). Free memory was 94.2 MB in the beginning and 182.1 MB in the end (delta: -88.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. [2020-07-10 14:58:28,997 INFO L168 Benchmark]: RCFGBuilder took 313.84 ms. Allocated memory is still 202.9 MB. Free memory was 182.1 MB in the beginning and 166.1 MB in the end (delta: 16.0 MB). Peak memory consumption was 16.0 MB. Max. memory is 7.1 GB. [2020-07-10 14:58:28,997 INFO L168 Benchmark]: TraceAbstraction took 4949.42 ms. Allocated memory was 202.9 MB in the beginning and 273.7 MB in the end (delta: 70.8 MB). Free memory was 165.4 MB in the beginning and 104.2 MB in the end (delta: 61.3 MB). Peak memory consumption was 132.1 MB. Max. memory is 7.1 GB. [2020-07-10 14:58:29,000 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.24 ms. Allocated memory is still 138.9 MB. Free memory was 122.0 MB in the beginning and 121.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 241.40 ms. Allocated memory is still 138.9 MB. Free memory was 103.7 MB in the beginning and 94.2 MB in the end (delta: 9.5 MB). Peak memory consumption was 9.5 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 108.70 ms. Allocated memory was 138.9 MB in the beginning and 202.9 MB in the end (delta: 64.0 MB). Free memory was 94.2 MB in the beginning and 182.1 MB in the end (delta: -88.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. * RCFGBuilder took 313.84 ms. Allocated memory is still 202.9 MB. Free memory was 182.1 MB in the beginning and 166.1 MB in the end (delta: 16.0 MB). Peak memory consumption was 16.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 4949.42 ms. Allocated memory was 202.9 MB in the beginning and 273.7 MB in the end (delta: 70.8 MB). Free memory was 165.4 MB in the beginning and 104.2 MB in the end (delta: 61.3 MB). Peak memory consumption was 132.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 21]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L18] int input = 5; VAL [input=5] [L19] CALL, EXPR id(input) VAL [\old(x)=5] [L8] COND FALSE !(x==0) VAL [\old(x)=5, x=5] [L9] CALL, EXPR id2(x-1) VAL [\old(x)=4] [L13] COND FALSE !(x==0) VAL [\old(x)=4, x=4] [L14] CALL, EXPR id(x-1) VAL [\old(x)=3] [L8] COND FALSE !(x==0) VAL [\old(x)=3, x=3] [L9] CALL, EXPR id2(x-1) VAL [\old(x)=2] [L13] COND FALSE !(x==0) VAL [\old(x)=2, x=2] [L14] CALL, EXPR id(x-1) VAL [\old(x)=1] [L8] COND FALSE !(x==0) VAL [\old(x)=1, x=1] [L9] CALL, EXPR id2(x-1) VAL [\old(x)=0] [L13] COND TRUE x==0 [L13] return 0; VAL [\old(x)=0, \result=0, x=0] [L9] RET, EXPR id2(x-1) VAL [\old(x)=1, id2(x-1)=0, x=1] [L9] return id2(x-1) + 1; [L14] RET, EXPR id(x-1) VAL [\old(x)=2, id(x-1)=1, x=2] [L14] return id(x-1) + 1; [L9] RET, EXPR id2(x-1) VAL [\old(x)=3, id2(x-1)=2, x=3] [L9] return id2(x-1) + 1; [L14] RET, EXPR id(x-1) VAL [\old(x)=4, id(x-1)=3, x=4] [L14] return id(x-1) + 1; [L9] RET, EXPR id2(x-1) VAL [\old(x)=5, id2(x-1)=4, x=5] [L9] return id2(x-1) + 1; [L19] RET, EXPR id(input) VAL [id(input)=5, input=5] [L19] int result = id(input); [L20] COND TRUE result == 5 VAL [input=5, result=5] [L21] __VERIFIER_error() VAL [input=5, result=5] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 26 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 4.8s, OverallIterations: 6, TraceHistogramMax: 3, AutomataDifference: 1.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 92 SDtfs, 71 SDslu, 463 SDs, 0 SdLazy, 252 SolverSat, 9 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 175 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 53 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=36occurred in iteration=5, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 5 MinimizatonAttempts, 26 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 1.7s InterpolantComputationTime, 261 NumberOfCodeBlocks, 261 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 210 ConstructedInterpolants, 0 QuantifiedInterpolants, 13512 SizeOfPredicates, 15 NumberOfNonLiveVariables, 222 ConjunctsInSsa, 30 ConjunctsInUnsatCore, 8 InterpolantComputations, 2 PerfectInterpolantSequences, 34/68 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...