/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-46f3038-m [2020-07-08 15:54:53,337 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 15:54:53,339 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 15:54:53,350 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 15:54:53,351 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 15:54:53,352 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 15:54:53,353 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 15:54:53,355 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 15:54:53,357 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 15:54:53,357 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 15:54:53,358 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 15:54:53,359 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 15:54:53,360 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 15:54:53,361 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 15:54:53,362 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 15:54:53,363 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 15:54:53,364 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 15:54:53,365 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 15:54:53,366 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 15:54:53,369 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 15:54:53,370 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 15:54:53,371 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 15:54:53,373 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 15:54:53,373 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 15:54:53,376 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 15:54:53,376 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 15:54:53,377 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 15:54:53,378 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 15:54:53,378 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 15:54:53,379 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 15:54:53,379 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 15:54:53,380 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 15:54:53,381 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 15:54:53,382 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 15:54:53,383 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 15:54:53,383 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 15:54:53,384 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 15:54:53,384 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 15:54:53,384 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 15:54:53,385 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 15:54:53,386 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 15:54:53,387 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 15:54:53,396 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 15:54:53,396 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 15:54:53,397 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 15:54:53,398 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 15:54:53,398 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 15:54:53,398 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 15:54:53,398 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 15:54:53,398 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 15:54:53,399 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 15:54:53,400 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 15:54:53,400 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 15:54:53,400 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 15:54:53,400 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 15:54:53,400 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 15:54:53,401 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 15:54:53,401 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 15:54:53,401 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 15:54:53,401 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-08 15:54:53,679 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 15:54:53,692 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 15:54:53,695 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 15:54:53,697 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 15:54:53,697 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 15:54:53,698 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-08 15:54:53,757 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6806e130/7b2c37356e2d429bb9dc0d25df9d4ee8/FLAG63af772c3 [2020-07-08 15:54:54,194 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 15:54:54,194 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/recursive/EvenOdd01-1.c [2020-07-08 15:54:54,201 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6806e130/7b2c37356e2d429bb9dc0d25df9d4ee8/FLAG63af772c3 [2020-07-08 15:54:54,605 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6806e130/7b2c37356e2d429bb9dc0d25df9d4ee8 [2020-07-08 15:54:54,616 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 15:54:54,618 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 15:54:54,619 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 15:54:54,619 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 15:54:54,623 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 15:54:54,625 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:54,628 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c71e754 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54, skipping insertion in model container [2020-07-08 15:54:54,628 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:54,637 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 15:54:54,654 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 15:54:54,859 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 15:54:54,865 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 15:54:54,884 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 15:54:54,897 INFO L208 MainTranslator]: Completed translation [2020-07-08 15:54:54,897 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54 WrapperNode [2020-07-08 15:54:54,897 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 15:54:54,898 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 15:54:54,898 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 15:54:54,898 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 15:54:54,908 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:54,909 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:54,913 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:54,913 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:55,001 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:55,005 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:55,007 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (1/1) ... [2020-07-08 15:54:55,008 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 15:54:55,009 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 15:54:55,009 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 15:54:55,009 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 15:54:55,010 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (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-08 15:54:55,066 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 15:54:55,066 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 15:54:55,066 INFO L138 BoogieDeclarations]: Found implementation of procedure isOdd [2020-07-08 15:54:55,067 INFO L138 BoogieDeclarations]: Found implementation of procedure isEven [2020-07-08 15:54:55,067 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 15:54:55,067 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 15:54:55,067 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 15:54:55,067 INFO L130 BoogieDeclarations]: Found specification of procedure isOdd [2020-07-08 15:54:55,067 INFO L130 BoogieDeclarations]: Found specification of procedure isEven [2020-07-08 15:54:55,068 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 15:54:55,068 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 15:54:55,068 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 15:54:55,387 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 15:54:55,388 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-08 15:54:55,393 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 03:54:55 BoogieIcfgContainer [2020-07-08 15:54:55,393 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 15:54:55,394 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 15:54:55,394 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 15:54:55,398 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 15:54:55,398 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 03:54:54" (1/3) ... [2020-07-08 15:54:55,399 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@79a3fde7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 03:54:55, skipping insertion in model container [2020-07-08 15:54:55,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 03:54:54" (2/3) ... [2020-07-08 15:54:55,399 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@79a3fde7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 03:54:55, skipping insertion in model container [2020-07-08 15:54:55,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 03:54:55" (3/3) ... [2020-07-08 15:54:55,401 INFO L109 eAbstractionObserver]: Analyzing ICFG EvenOdd01-1.c [2020-07-08 15:54:55,418 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 15:54:55,442 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 15:54:55,473 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 15:54:55,502 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 15:54:55,502 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 15:54:55,502 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-08 15:54:55,502 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 15:54:55,503 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 15:54:55,503 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 15:54:55,503 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 15:54:55,503 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 15:54:55,519 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states. [2020-07-08 15:54:55,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-08 15:54:55,531 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 15:54:55,532 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-08 15:54:55,532 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 15:54:55,537 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 15:54:55,537 INFO L82 PathProgramCache]: Analyzing trace with hash 1047957633, now seen corresponding path program 1 times [2020-07-08 15:54:55,544 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 15:54:55,545 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [242672700] [2020-07-08 15:54:55,545 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 15:54:55,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:56,125 WARN L193 SmtUtils]: Spent 129.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 25 [2020-07-08 15:54:56,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:56,173 INFO L280 TraceCheckUtils]: 0: Hoare triple {47#true} assume true; {47#true} is VALID [2020-07-08 15:54:56,173 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {47#true} {47#true} #63#return; {47#true} is VALID [2020-07-08 15:54:56,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:56,254 INFO L280 TraceCheckUtils]: 0: Hoare triple {47#true} ~n := #in~n; {60#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:56,256 INFO L280 TraceCheckUtils]: 1: Hoare triple {60#(= isOdd_~n |isOdd_#in~n|)} assume 0 == ~n; {61#(= 0 |isOdd_#in~n|)} is VALID [2020-07-08 15:54:56,257 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-08 15:54:56,258 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-08 15:54:56,261 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-08 15:54:56,262 INFO L263 TraceCheckUtils]: 0: Hoare triple {47#true} call ULTIMATE.init(); {47#true} is VALID [2020-07-08 15:54:56,262 INFO L280 TraceCheckUtils]: 1: Hoare triple {47#true} assume true; {47#true} is VALID [2020-07-08 15:54:56,263 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47#true} {47#true} #63#return; {47#true} is VALID [2020-07-08 15:54:56,264 INFO L263 TraceCheckUtils]: 3: Hoare triple {47#true} call #t~ret4 := main(); {47#true} is VALID [2020-07-08 15:54:56,265 INFO L280 TraceCheckUtils]: 4: Hoare triple {47#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {47#true} is VALID [2020-07-08 15:54:56,265 INFO L280 TraceCheckUtils]: 5: Hoare triple {47#true} ~n~0 := #t~nondet2; {47#true} is VALID [2020-07-08 15:54:56,266 INFO L280 TraceCheckUtils]: 6: Hoare triple {47#true} havoc #t~nondet2; {47#true} is VALID [2020-07-08 15:54:56,268 INFO L280 TraceCheckUtils]: 7: Hoare triple {47#true} assume !(~n~0 < 0); {51#(< 0 (+ main_~n~0 1))} is VALID [2020-07-08 15:54:56,269 INFO L263 TraceCheckUtils]: 8: Hoare triple {51#(< 0 (+ main_~n~0 1))} call #t~ret3 := isOdd(~n~0); {47#true} is VALID [2020-07-08 15:54:56,270 INFO L280 TraceCheckUtils]: 9: Hoare triple {47#true} ~n := #in~n; {60#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:56,278 INFO L280 TraceCheckUtils]: 10: Hoare triple {60#(= isOdd_~n |isOdd_#in~n|)} assume 0 == ~n; {61#(= 0 |isOdd_#in~n|)} is VALID [2020-07-08 15:54:56,279 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-08 15:54:56,280 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-08 15:54:56,282 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-08 15:54:56,284 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-08 15:54:56,286 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-08 15:54:56,287 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-08 15:54:56,289 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-08 15:54:56,290 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-08 15:54:56,291 INFO L280 TraceCheckUtils]: 19: Hoare triple {48#false} assume !false; {48#false} is VALID [2020-07-08 15:54:56,297 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-08 15:54:56,299 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 15:54:56,303 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [242672700] [2020-07-08 15:54:56,305 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 15:54:56,306 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 15:54:56,307 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992569907] [2020-07-08 15:54:56,315 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 20 [2020-07-08 15:54:56,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 15:54:56,325 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 15:54:56,377 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-08 15:54:56,378 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 15:54:56,378 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 15:54:56,387 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 15:54:56,389 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-08 15:54:56,392 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 9 states. [2020-07-08 15:54:57,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:57,226 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2020-07-08 15:54:57,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 15:54:57,226 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 20 [2020-07-08 15:54:57,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 15:54:57,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 15:54:57,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2020-07-08 15:54:57,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 15:54:57,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2020-07-08 15:54:57,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2020-07-08 15:54:57,340 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-08 15:54:57,354 INFO L225 Difference]: With dead ends: 62 [2020-07-08 15:54:57,354 INFO L226 Difference]: Without dead ends: 40 [2020-07-08 15:54:57,358 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-08 15:54:57,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2020-07-08 15:54:57,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2020-07-08 15:54:57,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 15:54:57,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 40 states. [2020-07-08 15:54:57,436 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2020-07-08 15:54:57,436 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2020-07-08 15:54:57,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:57,443 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2020-07-08 15:54:57,443 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-08 15:54:57,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:57,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:57,445 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2020-07-08 15:54:57,445 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2020-07-08 15:54:57,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:57,450 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2020-07-08 15:54:57,450 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-08 15:54:57,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:57,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:57,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 15:54:57,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 15:54:57,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-08 15:54:57,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2020-07-08 15:54:57,458 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 20 [2020-07-08 15:54:57,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 15:54:57,458 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2020-07-08 15:54:57,459 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 15:54:57,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 44 transitions. [2020-07-08 15:54:57,522 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-08 15:54:57,523 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-08 15:54:57,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-08 15:54:57,524 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 15:54:57,524 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-08 15:54:57,525 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 15:54:57,525 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 15:54:57,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 15:54:57,526 INFO L82 PathProgramCache]: Analyzing trace with hash 1743555941, now seen corresponding path program 1 times [2020-07-08 15:54:57,526 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 15:54:57,526 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [10188067] [2020-07-08 15:54:57,526 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 15:54:57,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:57,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:57,829 INFO L280 TraceCheckUtils]: 0: Hoare triple {361#true} assume true; {361#true} is VALID [2020-07-08 15:54:57,830 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {361#true} {361#true} #63#return; {361#true} is VALID [2020-07-08 15:54:57,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:57,893 INFO L280 TraceCheckUtils]: 0: Hoare triple {361#true} ~n := #in~n; {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:57,894 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-08 15:54:57,895 INFO L280 TraceCheckUtils]: 2: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume 1 == ~n; {376#(= 1 |isOdd_#in~n|)} is VALID [2020-07-08 15:54:57,896 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-08 15:54:57,897 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-08 15:54:57,899 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} {365#(< 0 (+ main_~n~0 1))} #67#return; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (<= 1 main_~n~0) (<= main_~n~0 1))} is VALID [2020-07-08 15:54:57,899 INFO L263 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2020-07-08 15:54:57,900 INFO L280 TraceCheckUtils]: 1: Hoare triple {361#true} assume true; {361#true} is VALID [2020-07-08 15:54:57,900 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {361#true} {361#true} #63#return; {361#true} is VALID [2020-07-08 15:54:57,901 INFO L263 TraceCheckUtils]: 3: Hoare triple {361#true} call #t~ret4 := main(); {361#true} is VALID [2020-07-08 15:54:57,901 INFO L280 TraceCheckUtils]: 4: Hoare triple {361#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {361#true} is VALID [2020-07-08 15:54:57,901 INFO L280 TraceCheckUtils]: 5: Hoare triple {361#true} ~n~0 := #t~nondet2; {361#true} is VALID [2020-07-08 15:54:57,901 INFO L280 TraceCheckUtils]: 6: Hoare triple {361#true} havoc #t~nondet2; {361#true} is VALID [2020-07-08 15:54:57,902 INFO L280 TraceCheckUtils]: 7: Hoare triple {361#true} assume !(~n~0 < 0); {365#(< 0 (+ main_~n~0 1))} is VALID [2020-07-08 15:54:57,903 INFO L263 TraceCheckUtils]: 8: Hoare triple {365#(< 0 (+ main_~n~0 1))} call #t~ret3 := isOdd(~n~0); {361#true} is VALID [2020-07-08 15:54:57,904 INFO L280 TraceCheckUtils]: 9: Hoare triple {361#true} ~n := #in~n; {375#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:57,905 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-08 15:54:57,906 INFO L280 TraceCheckUtils]: 11: Hoare triple {375#(= isOdd_~n |isOdd_#in~n|)} assume 1 == ~n; {376#(= 1 |isOdd_#in~n|)} is VALID [2020-07-08 15:54:57,908 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-08 15:54:57,908 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-08 15:54:57,910 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {377#(and (= 1 |isOdd_#res|) (= 1 |isOdd_#in~n|))} {365#(< 0 (+ main_~n~0 1))} #67#return; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (<= 1 main_~n~0) (<= main_~n~0 1))} is VALID [2020-07-08 15:54:57,914 INFO L280 TraceCheckUtils]: 15: Hoare triple {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (<= 1 main_~n~0) (<= main_~n~0 1))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (<= 1 main_~n~0) (<= main_~n~0 1))} is VALID [2020-07-08 15:54:57,916 INFO L280 TraceCheckUtils]: 16: Hoare triple {372#(and (<= 1 |main_#t~ret3|) (<= |main_#t~ret3| 1) (<= 1 main_~n~0) (<= main_~n~0 1))} ~result~0 := #t~ret3; {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~n~0) (<= main_~n~0 1))} is VALID [2020-07-08 15:54:57,917 INFO L280 TraceCheckUtils]: 17: Hoare triple {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~n~0) (<= main_~n~0 1))} havoc #t~ret3; {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~n~0) (<= main_~n~0 1))} is VALID [2020-07-08 15:54:57,918 INFO L280 TraceCheckUtils]: 18: Hoare triple {373#(and (= (+ (* 2 (div main_~n~0 2)) main_~result~0) main_~n~0) (<= 1 main_~n~0) (<= 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-08 15:54:57,920 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-08 15:54:57,920 INFO L280 TraceCheckUtils]: 20: Hoare triple {362#false} assume !false; {362#false} is VALID [2020-07-08 15:54:57,921 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-08 15:54:57,921 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 15:54:57,922 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [10188067] [2020-07-08 15:54:57,922 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 15:54:57,922 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 15:54:57,922 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1080310925] [2020-07-08 15:54:57,924 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-08 15:54:57,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 15:54:57,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 15:54:57,955 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-08 15:54:57,955 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 15:54:57,955 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 15:54:57,956 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 15:54:57,956 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2020-07-08 15:54:57,956 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 9 states. [2020-07-08 15:54:58,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:58,448 INFO L93 Difference]: Finished difference Result 49 states and 53 transitions. [2020-07-08 15:54:58,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-08 15:54:58,448 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-08 15:54:58,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 15:54:58,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 15:54:58,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2020-07-08 15:54:58,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 15:54:58,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2020-07-08 15:54:58,456 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2020-07-08 15:54:58,542 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-08 15:54:58,548 INFO L225 Difference]: With dead ends: 49 [2020-07-08 15:54:58,549 INFO L226 Difference]: Without dead ends: 42 [2020-07-08 15:54:58,550 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2020-07-08 15:54:58,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2020-07-08 15:54:58,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2020-07-08 15:54:58,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 15:54:58,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 40 states. [2020-07-08 15:54:58,604 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 40 states. [2020-07-08 15:54:58,604 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 40 states. [2020-07-08 15:54:58,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:58,608 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2020-07-08 15:54:58,608 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2020-07-08 15:54:58,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:58,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:58,609 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 42 states. [2020-07-08 15:54:58,610 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 42 states. [2020-07-08 15:54:58,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:58,613 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2020-07-08 15:54:58,613 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2020-07-08 15:54:58,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:58,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:58,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 15:54:58,615 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 15:54:58,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-08 15:54:58,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2020-07-08 15:54:58,618 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 21 [2020-07-08 15:54:58,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 15:54:58,618 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2020-07-08 15:54:58,618 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 15:54:58,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 44 transitions. [2020-07-08 15:54:58,665 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-08 15:54:58,665 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2020-07-08 15:54:58,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-08 15:54:58,667 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 15:54:58,668 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-08 15:54:58,668 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 15:54:58,668 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 15:54:58,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 15:54:58,669 INFO L82 PathProgramCache]: Analyzing trace with hash 698419476, now seen corresponding path program 1 times [2020-07-08 15:54:58,669 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 15:54:58,669 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [386686359] [2020-07-08 15:54:58,669 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 15:54:58,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:58,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:58,701 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} assume true; {650#true} is VALID [2020-07-08 15:54:58,702 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {650#true} {650#true} #63#return; {650#true} is VALID [2020-07-08 15:54:58,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:58,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:58,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:58,744 INFO L280 TraceCheckUtils]: 1: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,744 INFO L280 TraceCheckUtils]: 2: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,745 INFO L280 TraceCheckUtils]: 3: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,746 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-08 15:54:58,747 INFO L280 TraceCheckUtils]: 0: Hoare triple {650#true} ~n := #in~n; {650#true} is VALID [2020-07-08 15:54:58,747 INFO L280 TraceCheckUtils]: 1: Hoare triple {650#true} assume !(0 == ~n); {650#true} is VALID [2020-07-08 15:54:58,748 INFO L280 TraceCheckUtils]: 2: Hoare triple {650#true} assume !(1 == ~n); {668#(not (= 1 isOdd_~n))} is VALID [2020-07-08 15:54:58,748 INFO L263 TraceCheckUtils]: 3: Hoare triple {668#(not (= 1 isOdd_~n))} call #t~ret0 := isEven(~n - 1); {650#true} is VALID [2020-07-08 15:54:58,748 INFO L280 TraceCheckUtils]: 4: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:58,749 INFO L280 TraceCheckUtils]: 5: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,750 INFO L280 TraceCheckUtils]: 6: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,750 INFO L280 TraceCheckUtils]: 7: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,751 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-08 15:54:58,752 INFO L280 TraceCheckUtils]: 9: Hoare triple {651#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {651#false} is VALID [2020-07-08 15:54:58,752 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#false} #res := #t~ret0; {651#false} is VALID [2020-07-08 15:54:58,752 INFO L280 TraceCheckUtils]: 11: Hoare triple {651#false} havoc #t~ret0; {651#false} is VALID [2020-07-08 15:54:58,753 INFO L280 TraceCheckUtils]: 12: Hoare triple {651#false} assume true; {651#false} is VALID [2020-07-08 15:54:58,753 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {651#false} {650#true} #67#return; {651#false} is VALID [2020-07-08 15:54:58,753 INFO L263 TraceCheckUtils]: 0: Hoare triple {650#true} call ULTIMATE.init(); {650#true} is VALID [2020-07-08 15:54:58,754 INFO L280 TraceCheckUtils]: 1: Hoare triple {650#true} assume true; {650#true} is VALID [2020-07-08 15:54:58,754 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {650#true} {650#true} #63#return; {650#true} is VALID [2020-07-08 15:54:58,754 INFO L263 TraceCheckUtils]: 3: Hoare triple {650#true} call #t~ret4 := main(); {650#true} is VALID [2020-07-08 15:54:58,755 INFO L280 TraceCheckUtils]: 4: Hoare triple {650#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {650#true} is VALID [2020-07-08 15:54:58,755 INFO L280 TraceCheckUtils]: 5: Hoare triple {650#true} ~n~0 := #t~nondet2; {650#true} is VALID [2020-07-08 15:54:58,755 INFO L280 TraceCheckUtils]: 6: Hoare triple {650#true} havoc #t~nondet2; {650#true} is VALID [2020-07-08 15:54:58,756 INFO L280 TraceCheckUtils]: 7: Hoare triple {650#true} assume !(~n~0 < 0); {650#true} is VALID [2020-07-08 15:54:58,756 INFO L263 TraceCheckUtils]: 8: Hoare triple {650#true} call #t~ret3 := isOdd(~n~0); {650#true} is VALID [2020-07-08 15:54:58,756 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#true} ~n := #in~n; {650#true} is VALID [2020-07-08 15:54:58,756 INFO L280 TraceCheckUtils]: 10: Hoare triple {650#true} assume !(0 == ~n); {650#true} is VALID [2020-07-08 15:54:58,757 INFO L280 TraceCheckUtils]: 11: Hoare triple {650#true} assume !(1 == ~n); {668#(not (= 1 isOdd_~n))} is VALID [2020-07-08 15:54:58,757 INFO L263 TraceCheckUtils]: 12: Hoare triple {668#(not (= 1 isOdd_~n))} call #t~ret0 := isEven(~n - 1); {650#true} is VALID [2020-07-08 15:54:58,758 INFO L280 TraceCheckUtils]: 13: Hoare triple {650#true} ~n := #in~n; {674#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:58,759 INFO L280 TraceCheckUtils]: 14: Hoare triple {674#(= isEven_~n |isEven_#in~n|)} assume 0 == ~n; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,759 INFO L280 TraceCheckUtils]: 15: Hoare triple {675#(= |isEven_#in~n| 0)} #res := 1; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,760 INFO L280 TraceCheckUtils]: 16: Hoare triple {675#(= |isEven_#in~n| 0)} assume true; {675#(= |isEven_#in~n| 0)} is VALID [2020-07-08 15:54:58,761 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {675#(= |isEven_#in~n| 0)} {668#(not (= 1 isOdd_~n))} #61#return; {651#false} is VALID [2020-07-08 15:54:58,761 INFO L280 TraceCheckUtils]: 18: Hoare triple {651#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647; {651#false} is VALID [2020-07-08 15:54:58,762 INFO L280 TraceCheckUtils]: 19: Hoare triple {651#false} #res := #t~ret0; {651#false} is VALID [2020-07-08 15:54:58,762 INFO L280 TraceCheckUtils]: 20: Hoare triple {651#false} havoc #t~ret0; {651#false} is VALID [2020-07-08 15:54:58,762 INFO L280 TraceCheckUtils]: 21: Hoare triple {651#false} assume true; {651#false} is VALID [2020-07-08 15:54:58,763 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {651#false} {650#true} #67#return; {651#false} is VALID [2020-07-08 15:54:58,763 INFO L280 TraceCheckUtils]: 23: Hoare triple {651#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647; {651#false} is VALID [2020-07-08 15:54:58,763 INFO L280 TraceCheckUtils]: 24: Hoare triple {651#false} ~result~0 := #t~ret3; {651#false} is VALID [2020-07-08 15:54:58,763 INFO L280 TraceCheckUtils]: 25: Hoare triple {651#false} havoc #t~ret3; {651#false} is VALID [2020-07-08 15:54:58,764 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-08 15:54:58,764 INFO L280 TraceCheckUtils]: 27: Hoare triple {651#false} assume !(~result~0 < 0 || ~result~0 == ~mod~0); {651#false} is VALID [2020-07-08 15:54:58,764 INFO L280 TraceCheckUtils]: 28: Hoare triple {651#false} assume !false; {651#false} is VALID [2020-07-08 15:54:58,765 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-08 15:54:58,766 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 15:54:58,766 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [386686359] [2020-07-08 15:54:58,766 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 15:54:58,766 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 15:54:58,766 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717991754] [2020-07-08 15:54:58,767 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2020-07-08 15:54:58,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 15:54:58,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 15:54:58,794 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-08 15:54:58,794 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 15:54:58,795 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 15:54:58,795 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 15:54:58,795 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 15:54:58,796 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 5 states. [2020-07-08 15:54:59,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:59,020 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2020-07-08 15:54:59,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 15:54:59,020 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2020-07-08 15:54:59,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 15:54:59,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 15:54:59,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2020-07-08 15:54:59,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 15:54:59,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2020-07-08 15:54:59,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2020-07-08 15:54:59,100 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-08 15:54:59,102 INFO L225 Difference]: With dead ends: 61 [2020-07-08 15:54:59,103 INFO L226 Difference]: Without dead ends: 41 [2020-07-08 15:54:59,107 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-08 15:54:59,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-08 15:54:59,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 39. [2020-07-08 15:54:59,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 15:54:59,153 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 39 states. [2020-07-08 15:54:59,153 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 39 states. [2020-07-08 15:54:59,154 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 39 states. [2020-07-08 15:54:59,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:59,158 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-08 15:54:59,158 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-08 15:54:59,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:59,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:59,159 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 41 states. [2020-07-08 15:54:59,159 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 41 states. [2020-07-08 15:54:59,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:54:59,162 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-08 15:54:59,162 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-08 15:54:59,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:54:59,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:54:59,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 15:54:59,164 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 15:54:59,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-08 15:54:59,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2020-07-08 15:54:59,169 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 29 [2020-07-08 15:54:59,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 15:54:59,169 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2020-07-08 15:54:59,169 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 15:54:59,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 39 states and 42 transitions. [2020-07-08 15:54:59,225 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-08 15:54:59,226 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2020-07-08 15:54:59,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-08 15:54:59,228 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 15:54:59,228 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-08 15:54:59,228 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 15:54:59,229 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 15:54:59,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 15:54:59,229 INFO L82 PathProgramCache]: Analyzing trace with hash 735393428, now seen corresponding path program 1 times [2020-07-08 15:54:59,229 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 15:54:59,230 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [372738551] [2020-07-08 15:54:59,230 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 15:54:59,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:59,497 WARN L193 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 18 [2020-07-08 15:54:59,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:59,522 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} assume true; {962#true} is VALID [2020-07-08 15:54:59,523 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {962#true} {962#true} #63#return; {962#true} is VALID [2020-07-08 15:54:59,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:59,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:54:59,662 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:59,663 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-08 15:54:59,663 INFO L280 TraceCheckUtils]: 2: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-08 15:54:59,664 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-08 15:54:59,665 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-08 15:54:59,666 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-08 15:54:59,667 INFO L280 TraceCheckUtils]: 0: Hoare triple {962#true} ~n := #in~n; {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:59,668 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-08 15:54:59,668 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-08 15:54:59,668 INFO L263 TraceCheckUtils]: 3: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} call #t~ret0 := isEven(~n - 1); {962#true} is VALID [2020-07-08 15:54:59,669 INFO L280 TraceCheckUtils]: 4: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:59,670 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-08 15:54:59,671 INFO L280 TraceCheckUtils]: 6: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-08 15:54:59,671 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-08 15:54:59,672 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-08 15:54:59,673 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-08 15:54:59,674 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-08 15:54:59,675 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-08 15:54:59,676 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-08 15:54:59,676 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-08 15:54:59,678 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-08 15:54:59,679 INFO L263 TraceCheckUtils]: 0: Hoare triple {962#true} call ULTIMATE.init(); {962#true} is VALID [2020-07-08 15:54:59,679 INFO L280 TraceCheckUtils]: 1: Hoare triple {962#true} assume true; {962#true} is VALID [2020-07-08 15:54:59,680 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {962#true} {962#true} #63#return; {962#true} is VALID [2020-07-08 15:54:59,680 INFO L263 TraceCheckUtils]: 3: Hoare triple {962#true} call #t~ret4 := main(); {962#true} is VALID [2020-07-08 15:54:59,680 INFO L280 TraceCheckUtils]: 4: Hoare triple {962#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {962#true} is VALID [2020-07-08 15:54:59,680 INFO L280 TraceCheckUtils]: 5: Hoare triple {962#true} ~n~0 := #t~nondet2; {962#true} is VALID [2020-07-08 15:54:59,681 INFO L280 TraceCheckUtils]: 6: Hoare triple {962#true} havoc #t~nondet2; {962#true} is VALID [2020-07-08 15:54:59,682 INFO L280 TraceCheckUtils]: 7: Hoare triple {962#true} assume !(~n~0 < 0); {966#(< 0 (+ main_~n~0 1))} is VALID [2020-07-08 15:54:59,682 INFO L263 TraceCheckUtils]: 8: Hoare triple {966#(< 0 (+ main_~n~0 1))} call #t~ret3 := isOdd(~n~0); {962#true} is VALID [2020-07-08 15:54:59,683 INFO L280 TraceCheckUtils]: 9: Hoare triple {962#true} ~n := #in~n; {985#(= isOdd_~n |isOdd_#in~n|)} is VALID [2020-07-08 15:54:59,683 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-08 15:54:59,684 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-08 15:54:59,684 INFO L263 TraceCheckUtils]: 12: Hoare triple {985#(= isOdd_~n |isOdd_#in~n|)} call #t~ret0 := isEven(~n - 1); {962#true} is VALID [2020-07-08 15:54:59,685 INFO L280 TraceCheckUtils]: 13: Hoare triple {962#true} ~n := #in~n; {994#(= isEven_~n |isEven_#in~n|)} is VALID [2020-07-08 15:54:59,685 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-08 15:54:59,686 INFO L280 TraceCheckUtils]: 15: Hoare triple {994#(= isEven_~n |isEven_#in~n|)} assume 1 == ~n; {995#(= |isEven_#in~n| 1)} is VALID [2020-07-08 15:54:59,687 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-08 15:54:59,688 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-08 15:54:59,689 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-08 15:54:59,690 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-08 15:54:59,690 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-08 15:54:59,691 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-08 15:54:59,692 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-08 15:54:59,693 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-08 15:54:59,694 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-08 15:54:59,695 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-08 15:54:59,696 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-08 15:54:59,697 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-08 15:54:59,698 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-08 15:54:59,699 INFO L280 TraceCheckUtils]: 29: Hoare triple {963#false} assume !false; {963#false} is VALID [2020-07-08 15:54:59,701 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-08 15:54:59,701 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 15:54:59,702 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [372738551] [2020-07-08 15:54:59,702 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 15:54:59,702 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-08 15:54:59,703 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2047458303] [2020-07-08 15:54:59,703 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2020-07-08 15:54:59,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 15:54:59,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-08 15:54:59,749 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-08 15:54:59,749 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-08 15:54:59,749 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 15:54:59,750 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-08 15:54:59,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=108, Unknown=0, NotChecked=0, Total=132 [2020-07-08 15:54:59,750 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 12 states. [2020-07-08 15:55:00,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:55:00,492 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-08 15:55:00,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-08 15:55:00,493 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 30 [2020-07-08 15:55:00,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 15:55:00,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 15:55:00,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2020-07-08 15:55:00,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 15:55:00,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2020-07-08 15:55:00,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 54 transitions. [2020-07-08 15:55:00,561 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-08 15:55:00,565 INFO L225 Difference]: With dead ends: 53 [2020-07-08 15:55:00,565 INFO L226 Difference]: Without dead ends: 46 [2020-07-08 15:55:00,566 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-08 15:55:00,566 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-08 15:55:00,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2020-07-08 15:55:00,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 15:55:00,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2020-07-08 15:55:00,625 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2020-07-08 15:55:00,625 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2020-07-08 15:55:00,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:55:00,629 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2020-07-08 15:55:00,629 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-08 15:55:00,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:55:00,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:55:00,630 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2020-07-08 15:55:00,630 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2020-07-08 15:55:00,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 15:55:00,633 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2020-07-08 15:55:00,633 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-08 15:55:00,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 15:55:00,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 15:55:00,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 15:55:00,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 15:55:00,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-08 15:55:00,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 47 transitions. [2020-07-08 15:55:00,637 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 47 transitions. Word has length 30 [2020-07-08 15:55:00,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 15:55:00,638 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 47 transitions. [2020-07-08 15:55:00,638 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-08 15:55:00,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states and 47 transitions. [2020-07-08 15:55:00,693 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-08 15:55:00,694 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2020-07-08 15:55:00,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-08 15:55:00,695 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 15:55:00,696 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-08 15:55:00,696 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 15:55:00,696 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 15:55:00,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 15:55:00,697 INFO L82 PathProgramCache]: Analyzing trace with hash 1128861445, now seen corresponding path program 1 times [2020-07-08 15:55:00,697 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 15:55:00,697 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1159343626] [2020-07-08 15:55:00,697 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-08 15:55:00,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:55:00,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 15:55:00,961 INFO L280 TraceCheckUtils]: 0: Hoare triple {1299#true} assume true; {1299#true} is VALID [2020-07-08 15:55:00,961 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {1299#true} {1299#true} #63#return; {1299#true} is VALID [2020-07-08 15:55:00,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 15:55:00,971 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 15:55:00,971 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-08 15:55:00,977 INFO L168 Benchmark]: Toolchain (without parser) took 6359.65 ms. Allocated memory was 137.4 MB in the beginning and 285.2 MB in the end (delta: 147.8 MB). Free memory was 102.3 MB in the beginning and 177.9 MB in the end (delta: -75.6 MB). Peak memory consumption was 72.2 MB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,978 INFO L168 Benchmark]: CDTParser took 0.26 ms. Allocated memory is still 137.4 MB. Free memory was 120.8 MB in the beginning and 120.6 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,979 INFO L168 Benchmark]: CACSL2BoogieTranslator took 278.65 ms. Allocated memory is still 137.4 MB. Free memory was 102.0 MB in the beginning and 92.2 MB in the end (delta: 9.8 MB). Peak memory consumption was 9.8 MB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,980 INFO L168 Benchmark]: Boogie Preprocessor took 110.21 ms. Allocated memory was 137.4 MB in the beginning and 201.3 MB in the end (delta: 64.0 MB). Free memory was 92.2 MB in the beginning and 180.4 MB in the end (delta: -88.2 MB). Peak memory consumption was 14.9 MB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,981 INFO L168 Benchmark]: RCFGBuilder took 384.64 ms. Allocated memory is still 201.3 MB. Free memory was 180.4 MB in the beginning and 159.1 MB in the end (delta: 21.3 MB). Peak memory consumption was 21.3 MB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,982 INFO L168 Benchmark]: TraceAbstraction took 5580.30 ms. Allocated memory was 201.3 MB in the beginning and 285.2 MB in the end (delta: 83.9 MB). Free memory was 159.1 MB in the beginning and 177.9 MB in the end (delta: -18.8 MB). Peak memory consumption was 65.1 MB. Max. memory is 7.1 GB. [2020-07-08 15:55:00,986 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.26 ms. Allocated memory is still 137.4 MB. Free memory was 120.8 MB in the beginning and 120.6 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 278.65 ms. Allocated memory is still 137.4 MB. Free memory was 102.0 MB in the beginning and 92.2 MB in the end (delta: 9.8 MB). Peak memory consumption was 9.8 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 110.21 ms. Allocated memory was 137.4 MB in the beginning and 201.3 MB in the end (delta: 64.0 MB). Free memory was 92.2 MB in the beginning and 180.4 MB in the end (delta: -88.2 MB). Peak memory consumption was 14.9 MB. Max. memory is 7.1 GB. * RCFGBuilder took 384.64 ms. Allocated memory is still 201.3 MB. Free memory was 180.4 MB in the beginning and 159.1 MB in the end (delta: 21.3 MB). Peak memory consumption was 21.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 5580.30 ms. Allocated memory was 201.3 MB in the beginning and 285.2 MB in the end (delta: 83.9 MB). Free memory was 159.1 MB in the beginning and 177.9 MB in the end (delta: -18.8 MB). Peak memory consumption was 65.1 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...