/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/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/recursive/EvenOdd01-1.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 18:36:08,224 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 18:36:08,226 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 18:36:08,244 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 18:36:08,244 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 18:36:08,245 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 18:36:08,247 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 18:36:08,248 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 18:36:08,250 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 18:36:08,251 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 18:36:08,252 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 18:36:08,253 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 18:36:08,253 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 18:36:08,254 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 18:36:08,255 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 18:36:08,256 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 18:36:08,256 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 18:36:08,257 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 18:36:08,259 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 18:36:08,261 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 18:36:08,262 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 18:36:08,264 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 18:36:08,265 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 18:36:08,265 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 18:36:08,268 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 18:36:08,268 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 18:36:08,268 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 18:36:08,269 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 18:36:08,270 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 18:36:08,271 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 18:36:08,271 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 18:36:08,272 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 18:36:08,272 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 18:36:08,273 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 18:36:08,274 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 18:36:08,274 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 18:36:08,275 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 18:36:08,275 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 18:36:08,276 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 18:36:08,276 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 18:36:08,277 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 18:36:08,278 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-10 18:36:08,287 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 18:36:08,287 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 18:36:08,288 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 18:36:08,289 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 18:36:08,290 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 18:36:08,290 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 18:36:08,290 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 18:36:08,290 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 18:36:08,290 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 18:36:08,291 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 18:36:08,291 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-10 18:36:08,291 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 18:36:08,291 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 18:36:08,291 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 18:36:08,292 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 18:36:08,292 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-10 18:36:08,292 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 18:36:08,292 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-10 18:36:08,546 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 18:36:08,558 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 18:36:08,563 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 18:36:08,564 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 18:36:08,564 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 18:36:08,565 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/recursive/EvenOdd01-1.c [2020-07-10 18:36:08,632 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8dc6dc30c/c923d711df1d4e2eac27014d71f68b06/FLAG80b12d072 [2020-07-10 18:36:09,017 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 18:36:09,018 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/recursive/EvenOdd01-1.c [2020-07-10 18:36:09,025 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8dc6dc30c/c923d711df1d4e2eac27014d71f68b06/FLAG80b12d072 [2020-07-10 18:36:09,437 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8dc6dc30c/c923d711df1d4e2eac27014d71f68b06 [2020-07-10 18:36:09,447 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 18:36:09,449 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 18:36:09,450 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 18:36:09,451 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 18:36:09,454 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 18:36:09,456 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,459 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@763d9581 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09, skipping insertion in model container [2020-07-10 18:36:09,459 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,466 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 18:36:09,483 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 18:36:09,628 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 18:36:09,633 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 18:36:09,650 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 18:36:09,665 INFO L208 MainTranslator]: Completed translation [2020-07-10 18:36:09,665 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09 WrapperNode [2020-07-10 18:36:09,665 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 18:36:09,666 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 18:36:09,666 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 18:36:09,666 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 18:36:09,678 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,678 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,682 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,682 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,772 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,780 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,781 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (1/1) ... [2020-07-10 18:36:09,782 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 18:36:09,786 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 18:36:09,786 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 18:36:09,786 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 18:36:09,787 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (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 18:36:09,838 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 18:36:09,839 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 18:36:09,839 INFO L138 BoogieDeclarations]: Found implementation of procedure isOdd [2020-07-10 18:36:09,839 INFO L138 BoogieDeclarations]: Found implementation of procedure isEven [2020-07-10 18:36:09,839 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 18:36:09,839 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 18:36:09,839 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 18:36:09,840 INFO L130 BoogieDeclarations]: Found specification of procedure isOdd [2020-07-10 18:36:09,840 INFO L130 BoogieDeclarations]: Found specification of procedure isEven [2020-07-10 18:36:09,840 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 18:36:09,840 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 18:36:09,840 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 18:36:10,312 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 18:36:10,313 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-10 18:36:10,317 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 06:36:10 BoogieIcfgContainer [2020-07-10 18:36:10,317 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 18:36:10,318 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 18:36:10,318 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 18:36:10,321 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 18:36:10,321 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 06:36:09" (1/3) ... [2020-07-10 18:36:10,322 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c00bb0f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 06:36:10, skipping insertion in model container [2020-07-10 18:36:10,323 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 06:36:09" (2/3) ... [2020-07-10 18:36:10,323 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c00bb0f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 06:36:10, skipping insertion in model container [2020-07-10 18:36:10,323 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 06:36:10" (3/3) ... [2020-07-10 18:36:10,325 INFO L109 eAbstractionObserver]: Analyzing ICFG EvenOdd01-1.c [2020-07-10 18:36:10,334 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-10 18:36:10,341 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 18:36:10,354 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 18:36:10,376 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 18:36:10,376 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 18:36:10,376 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-10 18:36:10,377 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 18:36:10,377 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 18:36:10,377 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 18:36:10,377 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 18:36:10,377 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 18:36:10,392 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states. [2020-07-10 18:36:10,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-10 18:36:10,403 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 18:36:10,404 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 18:36:10,404 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 18:36:10,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 18:36:10,411 INFO L82 PathProgramCache]: Analyzing trace with hash 1047957633, now seen corresponding path program 1 times [2020-07-10 18:36:10,419 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 18:36:10,420 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2043155782] [2020-07-10 18:36:10,420 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 18:36:10,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:10,943 WARN L193 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 25 [2020-07-10 18:36:10,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:10,991 INFO L280 TraceCheckUtils]: 0: Hoare triple {47#true} assume true; {47#true} is VALID [2020-07-10 18:36:10,991 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {47#true} {47#true} #63#return; {47#true} is VALID [2020-07-10 18:36:10,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:11,062 INFO L280 TraceCheckUtils]: 0: Hoare triple {47#true} ~n := #in~n; {60#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:11,064 INFO L280 TraceCheckUtils]: 1: Hoare triple {60#(= isOdd_~n |isOdd_#in~n|)} assume 0 == ~n; {61#(= 0 |isOdd_#in~n|)} is VALID [2020-07-10 18:36:11,065 INFO L280 TraceCheckUtils]: 2: Hoare triple {61#(= 0 |isOdd_#in~n|)} #res := 0; {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:11,066 INFO L280 TraceCheckUtils]: 3: Hoare triple {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} assume true; {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:11,068 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} {51#(< 0 (+ main_~n~0 1))} #67#return; {57#(and (<= |main_#t~ret3| 0) (<= main_~n~0 0) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:11,069 INFO L263 TraceCheckUtils]: 0: Hoare triple {47#true} call ULTIMATE.init(); {47#true} is VALID [2020-07-10 18:36:11,069 INFO L280 TraceCheckUtils]: 1: Hoare triple {47#true} assume true; {47#true} is VALID [2020-07-10 18:36:11,070 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47#true} {47#true} #63#return; {47#true} is VALID [2020-07-10 18:36:11,070 INFO L263 TraceCheckUtils]: 3: Hoare triple {47#true} call #t~ret4 := main(); {47#true} is VALID [2020-07-10 18:36:11,071 INFO L280 TraceCheckUtils]: 4: Hoare triple {47#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {47#true} is VALID [2020-07-10 18:36:11,071 INFO L280 TraceCheckUtils]: 5: Hoare triple {47#true} ~n~0 := #t~nondet2; {47#true} is VALID [2020-07-10 18:36:11,072 INFO L280 TraceCheckUtils]: 6: Hoare triple {47#true} havoc #t~nondet2; {47#true} is VALID [2020-07-10 18:36:11,073 INFO L280 TraceCheckUtils]: 7: Hoare triple {47#true} assume !(~n~0 < 0); {51#(< 0 (+ main_~n~0 1))} is VALID [2020-07-10 18:36:11,073 INFO L263 TraceCheckUtils]: 8: Hoare triple {51#(< 0 (+ main_~n~0 1))} call #t~ret3 := isOdd(~n~0); {47#true} is VALID [2020-07-10 18:36:11,074 INFO L280 TraceCheckUtils]: 9: Hoare triple {47#true} ~n := #in~n; {60#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:11,076 INFO L280 TraceCheckUtils]: 10: Hoare triple {60#(= isOdd_~n |isOdd_#in~n|)} assume 0 == ~n; {61#(= 0 |isOdd_#in~n|)} is VALID [2020-07-10 18:36:11,077 INFO L280 TraceCheckUtils]: 11: Hoare triple {61#(= 0 |isOdd_#in~n|)} #res := 0; {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:11,078 INFO L280 TraceCheckUtils]: 12: Hoare triple {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} assume true; {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:11,079 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {62#(and (= 0 |isOdd_#in~n|) (= 0 |isOdd_#res|))} {51#(< 0 (+ main_~n~0 1))} #67#return; {57#(and (<= |main_#t~ret3| 0) (<= main_~n~0 0) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:11,081 INFO L280 TraceCheckUtils]: 14: Hoare triple {57#(and (<= |main_#t~ret3| 0) (<= main_~n~0 0) (< 0 (+ main_~n~0 1)))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {57#(and (<= |main_#t~ret3| 0) (<= main_~n~0 0) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:11,082 INFO L280 TraceCheckUtils]: 15: Hoare triple {57#(and (<= |main_#t~ret3| 0) (<= main_~n~0 0) (< 0 (+ main_~n~0 1)))} ~result~0 := #t~ret3; {58#(or (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0 2) main_~n~0) (< main_~n~0 0) (not (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (or (<= 0 main_~n~0) (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (<= main_~n~0 0) (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (+ main_~n~0 1))))} is VALID [2020-07-10 18:36:11,083 INFO L280 TraceCheckUtils]: 16: Hoare triple {58#(or (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0 2) main_~n~0) (< main_~n~0 0) (not (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (or (<= 0 main_~n~0) (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (<= main_~n~0 0) (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (+ main_~n~0 1))))} havoc #t~ret3; {58#(or (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0 2) main_~n~0) (< main_~n~0 0) (not (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (or (<= 0 main_~n~0) (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (<= main_~n~0 0) (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (+ main_~n~0 1))))} is VALID [2020-07-10 18:36:11,086 INFO L280 TraceCheckUtils]: 17: Hoare triple {58#(or (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0 2) main_~n~0) (< main_~n~0 0) (not (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (or (<= 0 main_~n~0) (= main_~n~0 (* 2 (div main_~n~0 2))))) (and (<= main_~n~0 0) (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (+ main_~n~0 1))))} ~mod~0 := (if ~n~0 < 0 && 0 != ~n~0 % 2 then ~n~0 % 2 - 2 else ~n~0 % 2); {59#(or (<= (+ main_~result~0 1) 0) (= main_~mod~0 main_~result~0))} is VALID [2020-07-10 18:36:11,087 INFO L280 TraceCheckUtils]: 18: Hoare triple {59#(or (<= (+ main_~result~0 1) 0) (= main_~mod~0 main_~result~0))} assume !(~result~0 < 0 || ~result~0 == ~mod~0); {48#false} is VALID [2020-07-10 18:36:11,087 INFO L280 TraceCheckUtils]: 19: Hoare triple {48#false} assume !false; {48#false} is VALID [2020-07-10 18:36:11,091 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 18:36:11,092 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 18:36:11,094 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2043155782] [2020-07-10 18:36:11,096 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 18:36:11,096 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 18:36:11,097 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1302847003] [2020-07-10 18:36:11,103 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 20 [2020-07-10 18:36:11,109 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 18:36:11,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 18:36:11,152 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:11,153 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 18:36:11,153 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 18:36:11,162 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 18:36:11,163 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-10 18:36:11,166 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 9 states. [2020-07-10 18:36:11,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:11,970 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2020-07-10 18:36:11,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 18:36:11,970 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 20 [2020-07-10 18:36:11,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 18:36:11,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 18:36:11,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2020-07-10 18:36:11,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 18:36:12,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2020-07-10 18:36:12,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2020-07-10 18:36:12,100 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:12,127 INFO L225 Difference]: With dead ends: 62 [2020-07-10 18:36:12,127 INFO L226 Difference]: Without dead ends: 40 [2020-07-10 18:36:12,137 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2020-07-10 18:36:12,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2020-07-10 18:36:12,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2020-07-10 18:36:12,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 18:36:12,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 40 states. [2020-07-10 18:36:12,220 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2020-07-10 18:36:12,220 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2020-07-10 18:36:12,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:12,231 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2020-07-10 18:36:12,231 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-10 18:36:12,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:12,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:12,232 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2020-07-10 18:36:12,232 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2020-07-10 18:36:12,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:12,243 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2020-07-10 18:36:12,243 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-10 18:36:12,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:12,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:12,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 18:36:12,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 18:36:12,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-10 18:36:12,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2020-07-10 18:36:12,259 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 20 [2020-07-10 18:36:12,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 18:36:12,262 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2020-07-10 18:36:12,262 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 18:36:12,263 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 44 transitions. [2020-07-10 18:36:12,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:12,348 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-10 18:36:12,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-10 18:36:12,349 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 18:36:12,350 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 18:36:12,350 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 18:36:12,350 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 18:36:12,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 18:36:12,351 INFO L82 PathProgramCache]: Analyzing trace with hash 1743555941, now seen corresponding path program 1 times [2020-07-10 18:36:12,351 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 18:36:12,351 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1715900690] [2020-07-10 18:36:12,351 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 18:36:12,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:12,701 WARN L193 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 16 [2020-07-10 18:36:12,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:12,722 INFO L280 TraceCheckUtils]: 0: Hoare triple {361#true} assume true; {361#true} is VALID [2020-07-10 18:36:12,722 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {361#true} {361#true} #63#return; {361#true} is VALID [2020-07-10 18:36:12,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:12,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {361#true} ~n := #in~n; {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,800 INFO L280 TraceCheckUtils]: 1: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume !(0 == ~n); {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,801 INFO L280 TraceCheckUtils]: 2: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume 1 == ~n; {376#(= 1 |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,802 INFO L280 TraceCheckUtils]: 3: Hoare triple {376#(= 1 |isOdd_#in~n|)} #res := 1; {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} is VALID [2020-07-10 18:36:12,803 INFO L280 TraceCheckUtils]: 4: Hoare triple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} assume true; {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} is VALID [2020-07-10 18:36:12,804 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} {365#(or (= main_~n~0 (* 2 (div main_~n~0 2))) (< 0 (+ main_~n~0 1)))} #67#return; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1) (not (= main_~n~0 (* 2 (div main_~n~0 2)))))} is VALID [2020-07-10 18:36:12,805 INFO L263 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2020-07-10 18:36:12,805 INFO L280 TraceCheckUtils]: 1: Hoare triple {361#true} assume true; {361#true} is VALID [2020-07-10 18:36:12,805 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {361#true} {361#true} #63#return; {361#true} is VALID [2020-07-10 18:36:12,806 INFO L263 TraceCheckUtils]: 3: Hoare triple {361#true} call #t~ret4 := main(); {361#true} is VALID [2020-07-10 18:36:12,806 INFO L280 TraceCheckUtils]: 4: Hoare triple {361#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {361#true} is VALID [2020-07-10 18:36:12,806 INFO L280 TraceCheckUtils]: 5: Hoare triple {361#true} ~n~0 := #t~nondet2; {361#true} is VALID [2020-07-10 18:36:12,806 INFO L280 TraceCheckUtils]: 6: Hoare triple {361#true} havoc #t~nondet2; {361#true} is VALID [2020-07-10 18:36:12,808 INFO L280 TraceCheckUtils]: 7: Hoare triple {361#true} assume !(~n~0 < 0); {365#(or (= main_~n~0 (* 2 (div main_~n~0 2))) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:12,808 INFO L263 TraceCheckUtils]: 8: Hoare triple {365#(or (= main_~n~0 (* 2 (div main_~n~0 2))) (< 0 (+ main_~n~0 1)))} call #t~ret3 := isOdd(~n~0); {361#true} is VALID [2020-07-10 18:36:12,809 INFO L280 TraceCheckUtils]: 9: Hoare triple {361#true} ~n := #in~n; {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,809 INFO L280 TraceCheckUtils]: 10: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume !(0 == ~n); {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,811 INFO L280 TraceCheckUtils]: 11: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume 1 == ~n; {376#(= 1 |isOdd_#in~n|)} is VALID [2020-07-10 18:36:12,812 INFO L280 TraceCheckUtils]: 12: Hoare triple {376#(= 1 |isOdd_#in~n|)} #res := 1; {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} is VALID [2020-07-10 18:36:12,813 INFO L280 TraceCheckUtils]: 13: Hoare triple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} assume true; {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} is VALID [2020-07-10 18:36:12,814 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} {365#(or (= main_~n~0 (* 2 (div main_~n~0 2))) (< 0 (+ main_~n~0 1)))} #67#return; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1) (not (= main_~n~0 (* 2 (div main_~n~0 2)))))} is VALID [2020-07-10 18:36:12,819 INFO L280 TraceCheckUtils]: 15: Hoare triple {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1) (not (= main_~n~0 (* 2 (div main_~n~0 2)))))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1) (not (= main_~n~0 (* 2 (div main_~n~0 2)))))} is VALID [2020-07-10 18:36:12,820 INFO L280 TraceCheckUtils]: 16: Hoare triple {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1) (not (= main_~n~0 (* 2 (div main_~n~0 2)))))} ~result~0 := #t~ret3; {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~result~0) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1))} is VALID [2020-07-10 18:36:12,821 INFO L280 TraceCheckUtils]: 17: Hoare triple {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~result~0) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1))} havoc #t~ret3; {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~result~0) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1))} is VALID [2020-07-10 18:36:12,823 INFO L280 TraceCheckUtils]: 18: Hoare triple {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~result~0) (< 0 (+ main_~n~0 1)) (<= main_~n~0 1))} ~mod~0 := (if ~n~0 < 0 && 0 != ~n~0 % 2 then ~n~0 % 2 - 2 else ~n~0 % 2); {374#(= main_~mod~0 main_~result~0)} is VALID [2020-07-10 18:36:12,823 INFO L280 TraceCheckUtils]: 19: Hoare triple {374#(= main_~mod~0 main_~result~0)} assume !(~result~0 < 0 || ~result~0 == ~mod~0); {362#false} is VALID [2020-07-10 18:36:12,824 INFO L280 TraceCheckUtils]: 20: Hoare triple {362#false} assume !false; {362#false} is VALID [2020-07-10 18:36:12,825 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 18:36:12,825 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 18:36:12,826 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1715900690] [2020-07-10 18:36:12,826 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 18:36:12,826 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 18:36:12,826 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767467327] [2020-07-10 18:36:12,827 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-10 18:36:12,828 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 18:36:12,828 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 18:36:12,851 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:12,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 18:36:12,852 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 18:36:12,852 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 18:36:12,852 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2020-07-10 18:36:12,853 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 9 states. [2020-07-10 18:36:13,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:13,365 INFO L93 Difference]: Finished difference Result 49 states and 53 transitions. [2020-07-10 18:36:13,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 18:36:13,365 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-10 18:36:13,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 18:36:13,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 18:36:13,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2020-07-10 18:36:13,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 18:36:13,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2020-07-10 18:36:13,374 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2020-07-10 18:36:13,449 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:13,452 INFO L225 Difference]: With dead ends: 49 [2020-07-10 18:36:13,452 INFO L226 Difference]: Without dead ends: 42 [2020-07-10 18:36:13,454 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2020-07-10 18:36:13,454 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2020-07-10 18:36:13,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2020-07-10 18:36:13,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 18:36:13,501 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 40 states. [2020-07-10 18:36:13,501 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 40 states. [2020-07-10 18:36:13,501 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 40 states. [2020-07-10 18:36:13,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:13,506 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2020-07-10 18:36:13,506 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2020-07-10 18:36:13,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:13,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:13,509 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 42 states. [2020-07-10 18:36:13,510 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 42 states. [2020-07-10 18:36:13,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:13,516 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2020-07-10 18:36:13,516 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2020-07-10 18:36:13,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:13,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:13,517 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 18:36:13,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 18:36:13,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-10 18:36:13,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2020-07-10 18:36:13,525 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 21 [2020-07-10 18:36:13,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 18:36:13,525 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2020-07-10 18:36:13,525 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 18:36:13,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 44 transitions. [2020-07-10 18:36:13,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:13,587 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-10 18:36:13,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-10 18:36:13,589 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 18:36:13,589 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 18:36:13,590 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 18:36:13,590 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 18:36:13,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 18:36:13,591 INFO L82 PathProgramCache]: Analyzing trace with hash 698419476, now seen corresponding path program 1 times [2020-07-10 18:36:13,592 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 18:36:13,592 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1874864086] [2020-07-10 18:36:13,592 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 18:36:13,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:13,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:13,632 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} assume true; {650#true} is VALID [2020-07-10 18:36:13,632 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {650#true} {650#true} #63#return; {650#true} is VALID [2020-07-10 18:36:13,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:13,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:13,691 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:13,692 INFO L280 TraceCheckUtils]: 1: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,693 INFO L280 TraceCheckUtils]: 2: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,694 INFO L280 TraceCheckUtils]: 3: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,695 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-10 18:36:13,695 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} ~n := #in~n; {650#true} is VALID [2020-07-10 18:36:13,695 INFO L280 TraceCheckUtils]: 1: Hoare triple {650#true} assume !(0 == ~n); {650#true} is VALID [2020-07-10 18:36:13,696 INFO L280 TraceCheckUtils]: 2: Hoare triple {650#true} assume !(1 == ~n); {668#(not (= 1 isOdd_~n))} is VALID [2020-07-10 18:36:13,696 INFO L263 TraceCheckUtils]: 3: Hoare triple {668#(not (= 1 isOdd_~n))} call #t~ret0 := isEven(~n - 1); {650#true} is VALID [2020-07-10 18:36:13,697 INFO L280 TraceCheckUtils]: 4: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:13,698 INFO L280 TraceCheckUtils]: 5: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,699 INFO L280 TraceCheckUtils]: 6: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,699 INFO L280 TraceCheckUtils]: 7: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,700 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-10 18:36:13,701 INFO L280 TraceCheckUtils]: 9: Hoare triple {651#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {651#false} is VALID [2020-07-10 18:36:13,701 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#false} #res := #t~ret0; {651#false} is VALID [2020-07-10 18:36:13,701 INFO L280 TraceCheckUtils]: 11: Hoare triple {651#false} havoc #t~ret0; {651#false} is VALID [2020-07-10 18:36:13,702 INFO L280 TraceCheckUtils]: 12: Hoare triple {651#false} assume true; {651#false} is VALID [2020-07-10 18:36:13,702 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {651#false} {650#true} #67#return; {651#false} is VALID [2020-07-10 18:36:13,703 INFO L263 TraceCheckUtils]: 0: Hoare triple {650#true} call ULTIMATE.init(); {650#true} is VALID [2020-07-10 18:36:13,703 INFO L280 TraceCheckUtils]: 1: Hoare triple {650#true} assume true; {650#true} is VALID [2020-07-10 18:36:13,703 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {650#true} {650#true} #63#return; {650#true} is VALID [2020-07-10 18:36:13,703 INFO L263 TraceCheckUtils]: 3: Hoare triple {650#true} call #t~ret4 := main(); {650#true} is VALID [2020-07-10 18:36:13,704 INFO L280 TraceCheckUtils]: 4: Hoare triple {650#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {650#true} is VALID [2020-07-10 18:36:13,704 INFO L280 TraceCheckUtils]: 5: Hoare triple {650#true} ~n~0 := #t~nondet2; {650#true} is VALID [2020-07-10 18:36:13,704 INFO L280 TraceCheckUtils]: 6: Hoare triple {650#true} havoc #t~nondet2; {650#true} is VALID [2020-07-10 18:36:13,705 INFO L280 TraceCheckUtils]: 7: Hoare triple {650#true} assume !(~n~0 < 0); {650#true} is VALID [2020-07-10 18:36:13,705 INFO L263 TraceCheckUtils]: 8: Hoare triple {650#true} call #t~ret3 := isOdd(~n~0); {650#true} is VALID [2020-07-10 18:36:13,705 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#true} ~n := #in~n; {650#true} is VALID [2020-07-10 18:36:13,705 INFO L280 TraceCheckUtils]: 10: Hoare triple {650#true} assume !(0 == ~n); {650#true} is VALID [2020-07-10 18:36:13,706 INFO L280 TraceCheckUtils]: 11: Hoare triple {650#true} assume !(1 == ~n); {668#(not (= 1 isOdd_~n))} is VALID [2020-07-10 18:36:13,707 INFO L263 TraceCheckUtils]: 12: Hoare triple {668#(not (= 1 isOdd_~n))} call #t~ret0 := isEven(~n - 1); {650#true} is VALID [2020-07-10 18:36:13,707 INFO L280 TraceCheckUtils]: 13: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:13,708 INFO L280 TraceCheckUtils]: 14: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,709 INFO L280 TraceCheckUtils]: 15: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,709 INFO L280 TraceCheckUtils]: 16: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-10 18:36:13,710 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-10 18:36:13,710 INFO L280 TraceCheckUtils]: 18: Hoare triple {651#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {651#false} is VALID [2020-07-10 18:36:13,711 INFO L280 TraceCheckUtils]: 19: Hoare triple {651#false} #res := #t~ret0; {651#false} is VALID [2020-07-10 18:36:13,711 INFO L280 TraceCheckUtils]: 20: Hoare triple {651#false} havoc #t~ret0; {651#false} is VALID [2020-07-10 18:36:13,711 INFO L280 TraceCheckUtils]: 21: Hoare triple {651#false} assume true; {651#false} is VALID [2020-07-10 18:36:13,712 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {651#false} {650#true} #67#return; {651#false} is VALID [2020-07-10 18:36:13,712 INFO L280 TraceCheckUtils]: 23: Hoare triple {651#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {651#false} is VALID [2020-07-10 18:36:13,712 INFO L280 TraceCheckUtils]: 24: Hoare triple {651#false} ~result~0 := #t~ret3; {651#false} is VALID [2020-07-10 18:36:13,712 INFO L280 TraceCheckUtils]: 25: Hoare triple {651#false} havoc #t~ret3; {651#false} is VALID [2020-07-10 18:36:13,713 INFO L280 TraceCheckUtils]: 26: Hoare triple {651#false} ~mod~0 := (if ~n~0 < 0 && 0 != ~n~0 % 2 then ~n~0 % 2 - 2 else ~n~0 % 2); {651#false} is VALID [2020-07-10 18:36:13,713 INFO L280 TraceCheckUtils]: 27: Hoare triple {651#false} assume !(~result~0 < 0 || ~result~0 == ~mod~0); {651#false} is VALID [2020-07-10 18:36:13,713 INFO L280 TraceCheckUtils]: 28: Hoare triple {651#false} assume !false; {651#false} is VALID [2020-07-10 18:36:13,714 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 18:36:13,715 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 18:36:13,715 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1874864086] [2020-07-10 18:36:13,715 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 18:36:13,715 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 18:36:13,716 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1025774640] [2020-07-10 18:36:13,716 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2020-07-10 18:36:13,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 18:36:13,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 18:36:13,744 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:13,744 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 18:36:13,745 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 18:36:13,745 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 18:36:13,745 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 18:36:13,745 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 5 states. [2020-07-10 18:36:13,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:13,947 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2020-07-10 18:36:13,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 18:36:13,947 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2020-07-10 18:36:13,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 18:36:13,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 18:36:13,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2020-07-10 18:36:13,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 18:36:13,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2020-07-10 18:36:13,954 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2020-07-10 18:36:14,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:14,029 INFO L225 Difference]: With dead ends: 61 [2020-07-10 18:36:14,029 INFO L226 Difference]: Without dead ends: 41 [2020-07-10 18:36:14,030 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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 18:36:14,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-10 18:36:14,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 39. [2020-07-10 18:36:14,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 18:36:14,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 39 states. [2020-07-10 18:36:14,093 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 39 states. [2020-07-10 18:36:14,093 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 39 states. [2020-07-10 18:36:14,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:14,096 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 18:36:14,096 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 18:36:14,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:14,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:14,097 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 41 states. [2020-07-10 18:36:14,097 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 41 states. [2020-07-10 18:36:14,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:14,100 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 18:36:14,100 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 18:36:14,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:14,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:14,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 18:36:14,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 18:36:14,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-10 18:36:14,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2020-07-10 18:36:14,104 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 29 [2020-07-10 18:36:14,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 18:36:14,104 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2020-07-10 18:36:14,104 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 18:36:14,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states and 42 transitions. [2020-07-10 18:36:14,148 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 18:36:14,148 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2020-07-10 18:36:14,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-10 18:36:14,150 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 18:36:14,150 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 18:36:14,151 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 18:36:14,151 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 18:36:14,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 18:36:14,152 INFO L82 PathProgramCache]: Analyzing trace with hash 735393428, now seen corresponding path program 1 times [2020-07-10 18:36:14,152 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 18:36:14,152 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [812429827] [2020-07-10 18:36:14,152 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 18:36:14,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:14,414 WARN L193 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 18 [2020-07-10 18:36:14,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:14,435 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} assume true; {962#true} is VALID [2020-07-10 18:36:14,436 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {962#true} {962#true} #63#return; {962#true} is VALID [2020-07-10 18:36:14,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:14,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:14,561 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,562 INFO L280 TraceCheckUtils]: 1: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume !(0 == ~n); {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,563 INFO L280 TraceCheckUtils]: 2: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-10 18:36:14,564 INFO L280 TraceCheckUtils]: 3: Hoare triple {995#(= |isEven_#in~n| 1)} #res := 0; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,564 INFO L280 TraceCheckUtils]: 4: Hoare triple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} assume true; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,566 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} {985#(= isOdd_~n |isOdd_#in~n|)} #61#return; {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} is VALID [2020-07-10 18:36:14,566 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} ~n := #in~n; {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,567 INFO L280 TraceCheckUtils]: 1: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} assume !(0 == ~n); {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} assume !(1 == ~n); {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,568 INFO L263 TraceCheckUtils]: 3: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} call #t~ret0 := isEven(~n - 1); {962#true} is VALID [2020-07-10 18:36:14,568 INFO L280 TraceCheckUtils]: 4: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,569 INFO L280 TraceCheckUtils]: 5: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume !(0 == ~n); {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,570 INFO L280 TraceCheckUtils]: 6: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-10 18:36:14,571 INFO L280 TraceCheckUtils]: 7: Hoare triple {995#(= |isEven_#in~n| 1)} #res := 0; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,571 INFO L280 TraceCheckUtils]: 8: Hoare triple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} assume true; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,572 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} {985#(= isOdd_~n |isOdd_#in~n|)} #61#return; {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} is VALID [2020-07-10 18:36:14,573 INFO L280 TraceCheckUtils]: 10: Hoare triple {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} is VALID [2020-07-10 18:36:14,574 INFO L280 TraceCheckUtils]: 11: Hoare triple {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} #res := #t~ret0; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,575 INFO L280 TraceCheckUtils]: 12: Hoare triple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} havoc #t~ret0; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,576 INFO L280 TraceCheckUtils]: 13: Hoare triple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} assume true; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,577 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} {966#(< 0 (+ main_~n~0 1))} #67#return; {982#(and (<= |main_#t~ret3| 0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2))} is VALID [2020-07-10 18:36:14,578 INFO L263 TraceCheckUtils]: 0: Hoare triple {962#true} call ULTIMATE.init(); {962#true} is VALID [2020-07-10 18:36:14,578 INFO L280 TraceCheckUtils]: 1: Hoare triple {962#true} assume true; {962#true} is VALID [2020-07-10 18:36:14,578 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {962#true} {962#true} #63#return; {962#true} is VALID [2020-07-10 18:36:14,579 INFO L263 TraceCheckUtils]: 3: Hoare triple {962#true} call #t~ret4 := main(); {962#true} is VALID [2020-07-10 18:36:14,579 INFO L280 TraceCheckUtils]: 4: Hoare triple {962#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {962#true} is VALID [2020-07-10 18:36:14,579 INFO L280 TraceCheckUtils]: 5: Hoare triple {962#true} ~n~0 := #t~nondet2; {962#true} is VALID [2020-07-10 18:36:14,580 INFO L280 TraceCheckUtils]: 6: Hoare triple {962#true} havoc #t~nondet2; {962#true} is VALID [2020-07-10 18:36:14,581 INFO L280 TraceCheckUtils]: 7: Hoare triple {962#true} assume !(~n~0 < 0); {966#(< 0 (+ main_~n~0 1))} is VALID [2020-07-10 18:36:14,581 INFO L263 TraceCheckUtils]: 8: Hoare triple {966#(< 0 (+ main_~n~0 1))} call #t~ret3 := isOdd(~n~0); {962#true} is VALID [2020-07-10 18:36:14,581 INFO L280 TraceCheckUtils]: 9: Hoare triple {962#true} ~n := #in~n; {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,582 INFO L280 TraceCheckUtils]: 10: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} assume !(0 == ~n); {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,583 INFO L280 TraceCheckUtils]: 11: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} assume !(1 == ~n); {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-10 18:36:14,583 INFO L263 TraceCheckUtils]: 12: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} call #t~ret0 := isEven(~n - 1); {962#true} is VALID [2020-07-10 18:36:14,584 INFO L280 TraceCheckUtils]: 13: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,584 INFO L280 TraceCheckUtils]: 14: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume !(0 == ~n); {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-10 18:36:14,585 INFO L280 TraceCheckUtils]: 15: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-10 18:36:14,586 INFO L280 TraceCheckUtils]: 16: Hoare triple {995#(= |isEven_#in~n| 1)} #res := 0; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,586 INFO L280 TraceCheckUtils]: 17: Hoare triple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} assume true; {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} is VALID [2020-07-10 18:36:14,587 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {996#(and (= |isEven_#in~n| 1) (= 0 |isEven_#res|))} {985#(= isOdd_~n |isOdd_#in~n|)} #61#return; {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} is VALID [2020-07-10 18:36:14,588 INFO L280 TraceCheckUtils]: 19: Hoare triple {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} is VALID [2020-07-10 18:36:14,589 INFO L280 TraceCheckUtils]: 20: Hoare triple {992#(and (<= 2 |isOdd_#in~n|) (= 0 |isOdd_#t~ret0|) (<= |isOdd_#in~n| 2))} #res := #t~ret0; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,590 INFO L280 TraceCheckUtils]: 21: Hoare triple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} havoc #t~ret0; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,591 INFO L280 TraceCheckUtils]: 22: Hoare triple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} assume true; {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} is VALID [2020-07-10 18:36:14,592 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {993#(and (<= 2 |isOdd_#in~n|) (<= |isOdd_#in~n| 2) (= 0 |isOdd_#res|))} {966#(< 0 (+ main_~n~0 1))} #67#return; {982#(and (<= |main_#t~ret3| 0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2))} is VALID [2020-07-10 18:36:14,593 INFO L280 TraceCheckUtils]: 24: Hoare triple {982#(and (<= |main_#t~ret3| 0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {982#(and (<= |main_#t~ret3| 0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2))} is VALID [2020-07-10 18:36:14,594 INFO L280 TraceCheckUtils]: 25: Hoare triple {982#(and (<= |main_#t~ret3| 0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2))} ~result~0 := #t~ret3; {983#(and (or (and (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2)) (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0)) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:14,595 INFO L280 TraceCheckUtils]: 26: Hoare triple {983#(and (or (and (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2)) (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0)) (< 0 (+ main_~n~0 1)))} havoc #t~ret3; {983#(and (or (and (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2)) (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0)) (< 0 (+ main_~n~0 1)))} is VALID [2020-07-10 18:36:14,596 INFO L280 TraceCheckUtils]: 27: Hoare triple {983#(and (or (and (<= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (< 0 (div main_~n~0 2)) (<= main_~n~0 2)) (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0)) (< 0 (+ main_~n~0 1)))} ~mod~0 := (if ~n~0 < 0 && 0 != ~n~0 % 2 then ~n~0 % 2 - 2 else ~n~0 % 2); {984#(or (<= (+ main_~result~0 1) 0) (= main_~mod~0 main_~result~0))} is VALID [2020-07-10 18:36:14,597 INFO L280 TraceCheckUtils]: 28: Hoare triple {984#(or (<= (+ main_~result~0 1) 0) (= main_~mod~0 main_~result~0))} assume !(~result~0 < 0 || ~result~0 == ~mod~0); {963#false} is VALID [2020-07-10 18:36:14,597 INFO L280 TraceCheckUtils]: 29: Hoare triple {963#false} assume !false; {963#false} is VALID [2020-07-10 18:36:14,599 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 18:36:14,600 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 18:36:14,600 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [812429827] [2020-07-10 18:36:14,600 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 18:36:14,600 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 18:36:14,600 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100889107] [2020-07-10 18:36:14,601 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2020-07-10 18:36:14,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 18:36:14,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 18:36:14,637 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:14,637 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 18:36:14,638 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 18:36:14,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 18:36:14,638 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=108, Unknown=0, NotChecked=0, Total=132 [2020-07-10 18:36:14,638 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 12 states. [2020-07-10 18:36:15,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:15,316 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-10 18:36:15,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 18:36:15,316 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2020-07-10 18:36:15,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 18:36:15,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 18:36:15,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2020-07-10 18:36:15,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 18:36:15,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2020-07-10 18:36:15,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 54 transitions. [2020-07-10 18:36:15,386 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:15,387 INFO L225 Difference]: With dead ends: 53 [2020-07-10 18:36:15,387 INFO L226 Difference]: Without dead ends: 46 [2020-07-10 18:36:15,388 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=283, Unknown=0, NotChecked=0, Total=342 [2020-07-10 18:36:15,389 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-10 18:36:15,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2020-07-10 18:36:15,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 18:36:15,438 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2020-07-10 18:36:15,438 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2020-07-10 18:36:15,439 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2020-07-10 18:36:15,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:15,442 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2020-07-10 18:36:15,442 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-10 18:36:15,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:15,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:15,443 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2020-07-10 18:36:15,443 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2020-07-10 18:36:15,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 18:36:15,446 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2020-07-10 18:36:15,446 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-10 18:36:15,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 18:36:15,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 18:36:15,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 18:36:15,447 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 18:36:15,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-10 18:36:15,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 47 transitions. [2020-07-10 18:36:15,449 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 47 transitions. Word has length 30 [2020-07-10 18:36:15,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 18:36:15,450 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 47 transitions. [2020-07-10 18:36:15,450 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 18:36:15,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states and 47 transitions. [2020-07-10 18:36:15,513 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 18:36:15,513 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2020-07-10 18:36:15,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-10 18:36:15,515 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 18:36:15,515 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 18:36:15,515 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 18:36:15,515 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 18:36:15,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 18:36:15,516 INFO L82 PathProgramCache]: Analyzing trace with hash 1128861445, now seen corresponding path program 1 times [2020-07-10 18:36:15,516 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 18:36:15,516 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1711418514] [2020-07-10 18:36:15,516 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY Garbage collection #1: 17 nodes / 0 free / 0.0s / 0.0s total Resizing node table from 17 to 31 Garbage collection #2: 31 nodes / 0 free / 0.0s / 0.0s total Resizing node table from 31 to 61 Garbage collection #3: 61 nodes / 0 free / 0.0s / 0.0s total Resizing node table from 61 to 113 [2020-07-10 18:36:15,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:15,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 18:36:15,777 INFO L280 TraceCheckUtils]: 0: Hoare triple {1299#true} assume true; {1299#true} is VALID [2020-07-10 18:36:15,778 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {1299#true} {1299#true} #63#return; {1299#true} is VALID [2020-07-10 18:36:15,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 18:36:15,786 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 18:36:15,786 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: has to be unsat by construction, we do check only for interpolant computation at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsRecursive(InterpolatingTraceCheckCraig.java:396) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:239) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:108) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.Interpolator.generateInterpolantsCraigNested(Interpolator.java:146) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.Interpolator.generateInterpolants(Interpolator.java:102) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.acceleratedInterpolationCore(AcceleratedInterpolation.java:279) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:184) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModulePreferences.construct(IpTcStrategyModulePreferences.java:144) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:166) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:508) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:436) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:370) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResult.iterate(CegarLoopResult.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-10 18:36:15,792 INFO L168 Benchmark]: Toolchain (without parser) took 6342.61 ms. Allocated memory was 137.9 MB in the beginning and 276.8 MB in the end (delta: 138.9 MB). Free memory was 102.3 MB in the beginning and 126.6 MB in the end (delta: -24.3 MB). Peak memory consumption was 114.7 MB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,792 INFO L168 Benchmark]: CDTParser took 0.76 ms. Allocated memory is still 137.9 MB. Free memory was 120.1 MB in the beginning and 119.8 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,793 INFO L168 Benchmark]: CACSL2BoogieTranslator took 215.37 ms. Allocated memory is still 137.9 MB. Free memory was 102.1 MB in the beginning and 92.1 MB in the end (delta: 10.0 MB). Peak memory consumption was 10.0 MB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,794 INFO L168 Benchmark]: Boogie Preprocessor took 118.98 ms. Allocated memory was 137.9 MB in the beginning and 202.4 MB in the end (delta: 64.5 MB). Free memory was 92.1 MB in the beginning and 181.1 MB in the end (delta: -89.0 MB). Peak memory consumption was 14.9 MB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,795 INFO L168 Benchmark]: RCFGBuilder took 531.26 ms. Allocated memory is still 202.4 MB. Free memory was 181.1 MB in the beginning and 160.1 MB in the end (delta: 21.0 MB). Peak memory consumption was 21.0 MB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,796 INFO L168 Benchmark]: TraceAbstraction took 5471.27 ms. Allocated memory was 202.4 MB in the beginning and 276.8 MB in the end (delta: 74.4 MB). Free memory was 160.1 MB in the beginning and 126.6 MB in the end (delta: 33.5 MB). Peak memory consumption was 108.0 MB. Max. memory is 7.1 GB. [2020-07-10 18:36:15,800 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.76 ms. Allocated memory is still 137.9 MB. Free memory was 120.1 MB in the beginning and 119.8 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 215.37 ms. Allocated memory is still 137.9 MB. Free memory was 102.1 MB in the beginning and 92.1 MB in the end (delta: 10.0 MB). Peak memory consumption was 10.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 118.98 ms. Allocated memory was 137.9 MB in the beginning and 202.4 MB in the end (delta: 64.5 MB). Free memory was 92.1 MB in the beginning and 181.1 MB in the end (delta: -89.0 MB). Peak memory consumption was 14.9 MB. Max. memory is 7.1 GB. * RCFGBuilder took 531.26 ms. Allocated memory is still 202.4 MB. Free memory was 181.1 MB in the beginning and 160.1 MB in the end (delta: 21.0 MB). Peak memory consumption was 21.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 5471.27 ms. Allocated memory was 202.4 MB in the beginning and 276.8 MB in the end (delta: 74.4 MB). Free memory was 160.1 MB in the beginning and 126.6 MB in the end (delta: 33.5 MB). Peak memory consumption was 108.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: has to be unsat by construction, we do check only for interpolant computation de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: has to be unsat by construction, we do check only for interpolant computation: de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsRecursive(InterpolatingTraceCheckCraig.java:396) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...