/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:11:59,280 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:11:59,282 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:11:59,302 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:11:59,303 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:11:59,304 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:11:59,304 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:11:59,306 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:11:59,307 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:11:59,307 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:11:59,308 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:11:59,308 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:11:59,309 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:11:59,309 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:11:59,310 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:11:59,311 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:11:59,311 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:11:59,312 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:11:59,313 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:11:59,314 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:11:59,315 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:11:59,316 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:11:59,317 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:11:59,317 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:11:59,318 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:11:59,323 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:11:59,324 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:11:59,324 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:11:59,325 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:11:59,325 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:11:59,326 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:11:59,326 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:11:59,327 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:11:59,327 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:11:59,328 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:11:59,328 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:11:59,329 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:11:59,329 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:11:59,329 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:11:59,329 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:11:59,330 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:11:59,331 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:11:59,331 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:11:59,337 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:11:59,338 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:11:59,339 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:11:59,339 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:11:59,340 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:11:59,340 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:11:59,341 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:11:59,341 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:11:59,341 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:11:59,341 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:11:59,341 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:11:59,341 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:11:59,342 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 12:11:59,492 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:11:59,521 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:11:59,522 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:11:59,523 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:11:59,524 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:11:59,525 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-08 12:11:59,568 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/02aad7c66/5f9572cbce114936b37ababc76e251d3/FLAG49eaff2a4 [2022-04-08 12:11:59,925 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:11:59,926 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-08 12:11:59,930 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/02aad7c66/5f9572cbce114936b37ababc76e251d3/FLAG49eaff2a4 [2022-04-08 12:11:59,939 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/02aad7c66/5f9572cbce114936b37ababc76e251d3 [2022-04-08 12:11:59,941 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:11:59,942 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:11:59,943 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:11:59,943 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:11:59,945 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:11:59,946 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:11:59" (1/1) ... [2022-04-08 12:11:59,947 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@201805e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:11:59, skipping insertion in model container [2022-04-08 12:11:59,947 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:11:59" (1/1) ... [2022-04-08 12:11:59,951 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:11:59,961 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:12:00,102 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c[489,502] [2022-04-08 12:12:00,117 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:12:00,122 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:12:00,130 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c[489,502] [2022-04-08 12:12:00,137 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:12:00,146 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:12:00,146 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00 WrapperNode [2022-04-08 12:12:00,146 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:12:00,147 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:12:00,147 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:12:00,147 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:12:00,155 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,155 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,159 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,160 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,164 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,167 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,167 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,168 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:12:00,169 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:12:00,169 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:12:00,169 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:12:00,170 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (1/1) ... [2022-04-08 12:12:00,175 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:12:00,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:00,207 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 12:12:00,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:12:00,233 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:12:00,233 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:12:00,234 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:12:00,235 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:12:00,284 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:12:00,285 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:12:00,416 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:12:00,422 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:12:00,422 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 12:12:00,423 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:12:00 BoogieIcfgContainer [2022-04-08 12:12:00,424 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:12:00,425 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:12:00,425 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:12:00,427 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:12:00,427 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:11:59" (1/3) ... [2022-04-08 12:12:00,428 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@422ac352 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:12:00, skipping insertion in model container [2022-04-08 12:12:00,428 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:12:00" (2/3) ... [2022-04-08 12:12:00,428 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@422ac352 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:12:00, skipping insertion in model container [2022-04-08 12:12:00,428 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:12:00" (3/3) ... [2022-04-08 12:12:00,429 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound2.c [2022-04-08 12:12:00,433 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:12:00,433 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:12:00,464 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:12:00,469 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 12:12:00,469 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:12:00,482 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:12:00,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 12:12:00,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:00,489 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:12:00,489 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:00,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:00,494 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-08 12:12:00,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:00,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [732619641] [2022-04-08 12:12:00,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:00,508 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-08 12:12:00,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:00,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030577448] [2022-04-08 12:12:00,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:00,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:00,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:12:00,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 12:12:00,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:12:00,651 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 12:12:00,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:12:00,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 12:12:00,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:12:00,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,666 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 12:12:00,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:12:00,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 12:12:00,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:12:00,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:00,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 12:12:00,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:12:00,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 12:12:00,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:12:00,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 12:12:00,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 12:12:00,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-08 12:12:00,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-08 12:12:00,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,684 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 12:12:00,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-08 12:12:00,684 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-08 12:12:00,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,685 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 12:12:00,685 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 12:12:00,685 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 12:12:00,686 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 12:12:00,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:12:00,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:12:00,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:12:00,687 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 12:12:00,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-08 12:12:00,687 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-08 12:12:00,688 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-08 12:12:00,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 12:12:00,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 12:12:00,688 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 12:12:00,689 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 12:12:00,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:00,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030577448] [2022-04-08 12:12:00,690 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1030577448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:00,690 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:00,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:12:00,692 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:00,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [732619641] [2022-04-08 12:12:00,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [732619641] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:00,692 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:00,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:12:00,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1297903706] [2022-04-08 12:12:00,693 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:00,697 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 12:12:00,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:00,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:12:00,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:00,756 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:12:00,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:00,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:12:00,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:12:00,777 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:12:00,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:00,970 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-08 12:12:00,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:12:00,973 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 12:12:00,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:00,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:12:00,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 12:12:00,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:12:01,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 12:12:01,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-08 12:12:01,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:01,140 INFO L225 Difference]: With dead ends: 67 [2022-04-08 12:12:01,141 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 12:12:01,144 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:12:01,150 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:01,151 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:12:01,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 12:12:01,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 12:12:01,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:01,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 12:12:01,174 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 12:12:01,175 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 12:12:01,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:01,178 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 12:12:01,178 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:12:01,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:01,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:01,179 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-08 12:12:01,179 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-08 12:12:01,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:01,182 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 12:12:01,182 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:12:01,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:01,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:01,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:01,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:01,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 12:12:01,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 12:12:01,194 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-08 12:12:01,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:01,195 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 12:12:01,195 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:12:01,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 12:12:01,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:01,236 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:12:01,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 12:12:01,238 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:01,239 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:12:01,239 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:12:01,239 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:01,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:01,241 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-08 12:12:01,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:01,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2081648086] [2022-04-08 12:12:01,243 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:01,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-08 12:12:01,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:01,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1220251257] [2022-04-08 12:12:01,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:01,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:01,290 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:01,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1861878776] [2022-04-08 12:12:01,290 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:01,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:01,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:01,294 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:01,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 12:12:01,369 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:12:01,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:01,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:12:01,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:01,386 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:01,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 12:12:01,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-08 12:12:01,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:12:01,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-08 12:12:01,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 12:12:01,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-08 12:12:01,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-08 12:12:01,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:12:01,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:12:01,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:12:01,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-08 12:12:01,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-08 12:12:01,569 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-08 12:12:01,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:12:01,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:12:01,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:12:01,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-08 12:12:01,570 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 12:12:01,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:12:01,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:12:01,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:12:01,570 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-08 12:12:01,571 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 12:12:01,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:12:01,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:12:01,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:12:01,571 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-08 12:12:01,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:12:01,572 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:12:01,573 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:01,573 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:01,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-08 12:12:01,574 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 12:12:01,574 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 12:12:01,574 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:12:01,574 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:01,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1220251257] [2022-04-08 12:12:01,574 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:01,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1861878776] [2022-04-08 12:12:01,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1861878776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:01,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:01,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:01,576 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:01,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2081648086] [2022-04-08 12:12:01,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2081648086] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:01,576 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:01,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:01,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425578879] [2022-04-08 12:12:01,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:01,577 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-08 12:12:01,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:01,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 12:12:01,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:01,594 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:12:01,594 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:01,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:12:01,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:12:01,595 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 12:12:01,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:01,795 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-08 12:12:01,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:12:01,795 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-08 12:12:01,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:01,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 12:12:01,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:12:01,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 12:12:01,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:12:01,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:12:01,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:01,850 INFO L225 Difference]: With dead ends: 48 [2022-04-08 12:12:01,850 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 12:12:01,850 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:12:01,851 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:01,852 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:12:01,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 12:12:01,860 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-08 12:12:01,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:01,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:01,861 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:01,861 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:01,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:01,864 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 12:12:01,864 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 12:12:01,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:01,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:01,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-08 12:12:01,865 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-08 12:12:01,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:01,869 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 12:12:01,869 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 12:12:01,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:01,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:01,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:01,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:01,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:01,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-08 12:12:01,872 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-08 12:12:01,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:01,873 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-08 12:12:01,873 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 12:12:01,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-08 12:12:01,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:01,933 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-08 12:12:01,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 12:12:01,936 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:01,936 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-08 12:12:01,956 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 12:12:02,153 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:02,153 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:02,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:02,154 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-08 12:12:02,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:02,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [632427294] [2022-04-08 12:12:02,155 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:02,155 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-08 12:12:02,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:02,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1642974530] [2022-04-08 12:12:02,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:02,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:02,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:02,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1279990977] [2022-04-08 12:12:02,178 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:02,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:02,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:02,179 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:02,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 12:12:02,260 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:02,260 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:02,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:12:02,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:02,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:02,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-08 12:12:02,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-08 12:12:02,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-08 12:12:02,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-08 12:12:02,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:12:02,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-08 12:12:02,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-08 12:12:02,451 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-08 12:12:02,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:12:02,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:12:02,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:12:02,451 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-08 12:12:02,451 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-08 12:12:02,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:12:02,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:02,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {772#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:02,453 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {772#(not (= |assume_abort_if_not_#in~cond| 0))} {709#true} #70#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-08 12:12:02,453 INFO L272 TraceCheckUtils]: 22: Hoare triple {779#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-08 12:12:02,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:12:02,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:12:02,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:12:02,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {779#(<= 1 main_~x~0)} #72#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-08 12:12:02,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {779#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:02,455 INFO L290 TraceCheckUtils]: 28: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:02,455 INFO L272 TraceCheckUtils]: 29: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-08 12:12:02,455 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:12:02,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:12:02,455 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:12:02,456 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:02,456 INFO L272 TraceCheckUtils]: 34: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:02,457 INFO L290 TraceCheckUtils]: 35: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:02,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-08 12:12:02,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-08 12:12:02,458 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 12:12:02,458 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:12:33,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:33,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1642974530] [2022-04-08 12:12:33,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:33,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1279990977] [2022-04-08 12:12:33,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1279990977] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:12:33,742 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:12:33,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-08 12:12:33,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:33,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [632427294] [2022-04-08 12:12:33,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [632427294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:33,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:33,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:12:33,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [306089213] [2022-04-08 12:12:33,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:33,744 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 12:12:33,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:33,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 12:12:33,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:33,767 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:12:33,767 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:33,767 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:12:33,767 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:12:33,768 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 12:12:34,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:34,111 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-08 12:12:34,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:12:34,111 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 12:12:34,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:34,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 12:12:34,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 12:12:34,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 12:12:34,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 12:12:34,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 12:12:34,166 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:34,167 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:12:34,167 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 12:12:34,168 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:12:34,169 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 134 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:34,169 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 161 Invalid, 134 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:12:34,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 12:12:34,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-08 12:12:34,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:34,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:34,191 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:34,192 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:34,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:34,194 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 12:12:34,194 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 12:12:34,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:34,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:34,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-08 12:12:34,195 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-08 12:12:34,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:34,197 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 12:12:34,197 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 12:12:34,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:34,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:34,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:34,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:34,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 12:12:34,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-08 12:12:34,200 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-08 12:12:34,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:34,200 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-08 12:12:34,200 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 12:12:34,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-08 12:12:34,271 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:34,271 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-08 12:12:34,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:12:34,272 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:34,272 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 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] [2022-04-08 12:12:34,305 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:34,472 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 12:12:34,473 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:34,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:34,473 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-08 12:12:34,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:34,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1031409049] [2022-04-08 12:12:34,474 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:34,474 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-08 12:12:34,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:34,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1227357324] [2022-04-08 12:12:34,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:34,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:34,490 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:34,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [633049370] [2022-04-08 12:12:34,490 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:34,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:34,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:34,495 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:34,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 12:12:34,538 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:34,539 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:34,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:12:34,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:34,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:34,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2022-04-08 12:12:34,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {1152#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1152#true} is VALID [2022-04-08 12:12:34,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #88#return; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret6 := main(); {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {1152#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1152#true} {1152#true} #66#return; {1152#true} is VALID [2022-04-08 12:12:34,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {1152#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1152#true} {1152#true} #68#return; {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L272 TraceCheckUtils]: 17: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 12:12:34,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,752 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1152#true} {1152#true} #70#return; {1152#true} is VALID [2022-04-08 12:12:34,752 INFO L272 TraceCheckUtils]: 22: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {1152#true} ~cond := #in~cond; {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:12:34,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:34,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:34,753 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} {1152#true} #72#return; {1237#(<= 1 main_~y~0)} is VALID [2022-04-08 12:12:34,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {1237#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 12:12:34,754 INFO L290 TraceCheckUtils]: 28: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 12:12:34,754 INFO L272 TraceCheckUtils]: 29: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 12:12:34,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 12:12:34,755 INFO L290 TraceCheckUtils]: 32: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,756 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #74#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 12:12:34,756 INFO L272 TraceCheckUtils]: 34: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1152#true} is VALID [2022-04-08 12:12:34,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 12:12:34,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 12:12:34,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 12:12:34,757 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #76#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 12:12:34,758 INFO L272 TraceCheckUtils]: 39: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:34,758 INFO L290 TraceCheckUtils]: 40: Hoare triple {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:34,758 INFO L290 TraceCheckUtils]: 41: Hoare triple {1282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1153#false} is VALID [2022-04-08 12:12:34,759 INFO L290 TraceCheckUtils]: 42: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2022-04-08 12:12:34,759 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 12:12:34,759 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:12:34,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:34,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1227357324] [2022-04-08 12:12:34,762 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:34,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [633049370] [2022-04-08 12:12:34,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [633049370] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:34,762 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:34,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:12:34,762 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:34,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1031409049] [2022-04-08 12:12:34,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1031409049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:34,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:34,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:12:34,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1347104428] [2022-04-08 12:12:34,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:34,766 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:12:34,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:34,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:12:34,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:34,789 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:12:34,789 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:34,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:12:34,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:12:34,791 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:12:35,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:35,437 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-08 12:12:35,437 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:12:35,438 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:12:35,438 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:35,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:12:35,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 12:12:35,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:12:35,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 12:12:35,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 12:12:35,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:35,493 INFO L225 Difference]: With dead ends: 74 [2022-04-08 12:12:35,493 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 12:12:35,493 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:12:35,494 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 17 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:35,494 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 175 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:12:35,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 12:12:35,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-08 12:12:35,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:35,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:35,548 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:35,549 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:35,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:35,552 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 12:12:35,552 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:12:35,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:35,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:35,553 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-08 12:12:35,553 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-08 12:12:35,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:35,556 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 12:12:35,556 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:12:35,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:35,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:35,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:35,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:35,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:35,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-08 12:12:35,559 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-08 12:12:35,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:35,560 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-08 12:12:35,560 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:12:35,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-08 12:12:35,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:35,664 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:12:35,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 12:12:35,665 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:35,665 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 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] [2022-04-08 12:12:35,682 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:35,881 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:35,882 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:35,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:35,882 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-08 12:12:35,882 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:35,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [289614470] [2022-04-08 12:12:35,883 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:35,883 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-08 12:12:35,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:35,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1968018581] [2022-04-08 12:12:35,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:35,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:35,902 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:35,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [884675276] [2022-04-08 12:12:35,903 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:35,903 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:35,903 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:35,922 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:35,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 12:12:35,960 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:35,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:35,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:12:35,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:35,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:36,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {1720#true} call ULTIMATE.init(); {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {1720#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1720#true} {1720#true} #88#return; {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {1720#true} call #t~ret6 := main(); {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {1720#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1720#true} is VALID [2022-04-08 12:12:36,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1720#true} {1720#true} #66#return; {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {1720#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L272 TraceCheckUtils]: 12: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1720#true} {1720#true} #68#return; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L272 TraceCheckUtils]: 17: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1720#true} {1720#true} #70#return; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L272 TraceCheckUtils]: 22: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1720#true} {1720#true} #72#return; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {1720#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {1720#true} assume !false; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L272 TraceCheckUtils]: 29: Hoare triple {1720#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L290 TraceCheckUtils]: 32: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,086 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1720#true} {1720#true} #74#return; {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L272 TraceCheckUtils]: 34: Hoare triple {1720#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1720#true} {1720#true} #76#return; {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L272 TraceCheckUtils]: 39: Hoare triple {1720#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 12:12:36,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 12:12:36,088 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1720#true} {1720#true} #78#return; {1720#true} is VALID [2022-04-08 12:12:36,088 INFO L290 TraceCheckUtils]: 44: Hoare triple {1720#true} assume !(~a~0 != ~b~0); {1857#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:12:36,089 INFO L272 TraceCheckUtils]: 45: Hoare triple {1857#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:36,089 INFO L290 TraceCheckUtils]: 46: Hoare triple {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:36,090 INFO L290 TraceCheckUtils]: 47: Hoare triple {1865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1721#false} is VALID [2022-04-08 12:12:36,090 INFO L290 TraceCheckUtils]: 48: Hoare triple {1721#false} assume !false; {1721#false} is VALID [2022-04-08 12:12:36,090 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 12:12:36,090 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:12:36,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:36,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1968018581] [2022-04-08 12:12:36,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:36,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [884675276] [2022-04-08 12:12:36,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [884675276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:36,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:36,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:36,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:36,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [289614470] [2022-04-08 12:12:36,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [289614470] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:36,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:36,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:36,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1630797659] [2022-04-08 12:12:36,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:36,092 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-08 12:12:36,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:36,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 12:12:36,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:36,116 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:12:36,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:36,116 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:12:36,116 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:12:36,116 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 12:12:36,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:36,292 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-08 12:12:36,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:12:36,292 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-08 12:12:36,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:36,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 12:12:36,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:12:36,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 12:12:36,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:12:36,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 12:12:36,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:36,325 INFO L225 Difference]: With dead ends: 76 [2022-04-08 12:12:36,325 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 12:12:36,325 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:12:36,326 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:36,326 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:12:36,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 12:12:36,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-08 12:12:36,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:36,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:36,378 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:36,378 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:36,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:36,380 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 12:12:36,380 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:12:36,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:36,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:36,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-08 12:12:36,381 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-08 12:12:36,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:36,383 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 12:12:36,383 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:12:36,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:36,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:36,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:36,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:36,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:12:36,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-08 12:12:36,386 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-08 12:12:36,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:36,386 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-08 12:12:36,386 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 12:12:36,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-08 12:12:36,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:36,490 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:12:36,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 12:12:36,490 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:36,491 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 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] [2022-04-08 12:12:36,507 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 12:12:36,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:36,691 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:36,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:36,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-08 12:12:36,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:36,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2100731054] [2022-04-08 12:12:36,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:36,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-08 12:12:36,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:36,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1138849469] [2022-04-08 12:12:36,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:36,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:36,718 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:36,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1074151977] [2022-04-08 12:12:36,718 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:36,718 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:36,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:36,729 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:36,730 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 12:12:36,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:36,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:36,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:12:36,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:36,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:36,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {2321#true} call ULTIMATE.init(); {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {2321#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2321#true} {2321#true} #88#return; {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L272 TraceCheckUtils]: 4: Hoare triple {2321#true} call #t~ret6 := main(); {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {2321#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L272 TraceCheckUtils]: 6: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,985 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2321#true} {2321#true} #66#return; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {2321#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L272 TraceCheckUtils]: 12: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 15: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2321#true} {2321#true} #68#return; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L272 TraceCheckUtils]: 17: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2321#true} {2321#true} #70#return; {2321#true} is VALID [2022-04-08 12:12:36,986 INFO L272 TraceCheckUtils]: 22: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,987 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2321#true} {2321#true} #72#return; {2321#true} is VALID [2022-04-08 12:12:36,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {2321#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:36,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:36,992 INFO L272 TraceCheckUtils]: 29: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,992 INFO L290 TraceCheckUtils]: 32: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,993 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:36,993 INFO L272 TraceCheckUtils]: 34: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:36,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:36,993 INFO L290 TraceCheckUtils]: 36: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:36,994 INFO L290 TraceCheckUtils]: 37: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:36,994 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:37,000 INFO L272 TraceCheckUtils]: 39: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2321#true} is VALID [2022-04-08 12:12:37,000 INFO L290 TraceCheckUtils]: 40: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 12:12:37,000 INFO L290 TraceCheckUtils]: 41: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 12:12:37,000 INFO L290 TraceCheckUtils]: 42: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 12:12:37,001 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:37,001 INFO L290 TraceCheckUtils]: 44: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:37,002 INFO L290 TraceCheckUtils]: 45: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:37,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:37,003 INFO L272 TraceCheckUtils]: 47: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:37,003 INFO L290 TraceCheckUtils]: 48: Hoare triple {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:37,004 INFO L290 TraceCheckUtils]: 49: Hoare triple {2472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2322#false} is VALID [2022-04-08 12:12:37,004 INFO L290 TraceCheckUtils]: 50: Hoare triple {2322#false} assume !false; {2322#false} is VALID [2022-04-08 12:12:37,004 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-08 12:12:37,004 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:12:37,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:37,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1138849469] [2022-04-08 12:12:37,005 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:37,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1074151977] [2022-04-08 12:12:37,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1074151977] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:37,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:37,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:37,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:37,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2100731054] [2022-04-08 12:12:37,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2100731054] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:37,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:37,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:12:37,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [399526552] [2022-04-08 12:12:37,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:37,006 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-08 12:12:37,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:37,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:12:37,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:37,045 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:12:37,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:37,045 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:12:37,045 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:12:37,046 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:12:37,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:37,312 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-08 12:12:37,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:12:37,312 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-08 12:12:37,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:37,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:12:37,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:12:37,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:12:37,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:12:37,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 12:12:37,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:37,371 INFO L225 Difference]: With dead ends: 84 [2022-04-08 12:12:37,371 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 12:12:37,371 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:12:37,372 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:37,373 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:12:37,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 12:12:37,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-08 12:12:37,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:37,434 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 12:12:37,435 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 12:12:37,435 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 12:12:37,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:37,440 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 12:12:37,440 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 12:12:37,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:37,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:37,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-08 12:12:37,441 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-08 12:12:37,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:37,443 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 12:12:37,443 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 12:12:37,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:37,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:37,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:37,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:37,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 12:12:37,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-08 12:12:37,447 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-08 12:12:37,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:37,448 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-08 12:12:37,448 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:12:37,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-08 12:12:37,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:37,569 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-08 12:12:37,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 12:12:37,570 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:37,570 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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] [2022-04-08 12:12:37,588 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:37,784 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:37,785 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:37,785 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:37,786 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-08 12:12:37,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:37,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1165345725] [2022-04-08 12:12:37,795 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:37,795 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-08 12:12:37,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:37,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1847677239] [2022-04-08 12:12:37,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:37,795 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:37,806 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:37,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1947359371] [2022-04-08 12:12:37,806 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:37,806 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:37,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:37,807 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:37,808 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 12:12:37,843 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:37,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:37,844 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 12:12:37,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:37,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:38,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,020 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-08 12:12:38,021 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,022 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:38,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:12:38,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:12:38,023 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:38,023 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,023 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,023 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,024 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:38,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:38,024 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:38,025 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:38,025 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:38,025 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:38,025 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:38,026 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:38,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:38,027 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-08 12:12:38,027 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-08 12:12:38,029 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 12:12:38,029 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:12:53,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-08 12:12:53,194 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-08 12:12:53,194 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:53,195 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:53,196 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:53,196 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,196 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,196 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,196 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,196 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:53,197 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:53,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,197 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,198 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:53,198 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:12:53,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:12:53,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:12:53,199 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,199 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-08 12:12:53,199 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-08 12:12:53,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 12:12:53,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2968#true} is VALID [2022-04-08 12:12:53,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-08 12:12:53,202 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 12:12:53,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:53,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1847677239] [2022-04-08 12:12:53,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:53,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1947359371] [2022-04-08 12:12:53,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1947359371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:12:53,202 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:12:53,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:12:53,202 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:53,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1165345725] [2022-04-08 12:12:53,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1165345725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:53,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:53,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:12:53,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590073780] [2022-04-08 12:12:53,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:53,203 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-08 12:12:53,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:53,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:12:53,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:53,230 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:12:53,230 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:53,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:12:53,230 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:12:53,231 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:12:53,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:53,905 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-08 12:12:53,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:12:53,905 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-08 12:12:53,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:53,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:12:53,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 12:12:53,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:12:53,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 12:12:53,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-08 12:12:53,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:53,956 INFO L225 Difference]: With dead ends: 88 [2022-04-08 12:12:53,956 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 12:12:53,956 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:12:53,957 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:53,957 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 12:12:53,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 12:12:54,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-08 12:12:54,062 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:54,062 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:12:54,063 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:12:54,063 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:12:54,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:54,065 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 12:12:54,065 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:12:54,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:54,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:54,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-08 12:12:54,067 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-08 12:12:54,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:54,069 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 12:12:54,069 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:12:54,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:54,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:54,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:54,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:54,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:12:54,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-08 12:12:54,072 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-08 12:12:54,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:54,072 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-08 12:12:54,072 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:12:54,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-08 12:12:54,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:54,176 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:12:54,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 12:12:54,177 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:54,177 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 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] [2022-04-08 12:12:54,197 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:54,377 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:54,377 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:54,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:54,378 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-08 12:12:54,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:54,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [903763539] [2022-04-08 12:12:54,378 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:54,378 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-08 12:12:54,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:54,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876169903] [2022-04-08 12:12:54,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:54,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:54,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:54,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [641347529] [2022-04-08 12:12:54,390 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:12:54,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:54,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:54,394 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:54,422 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 12:12:54,443 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:12:54,443 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:54,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 12:12:54,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:54,456 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:55,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3818#true} is VALID [2022-04-08 12:12:55,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:12:55,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:55,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:55,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3818#true} #66#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:12:55,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:12:55,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:12:55,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,045 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:12:55,045 INFO L272 TraceCheckUtils]: 22: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:12:55,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:55,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:12:55,047 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:12:55,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,048 INFO L290 TraceCheckUtils]: 28: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,048 INFO L272 TraceCheckUtils]: 29: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,048 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,048 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,049 INFO L272 TraceCheckUtils]: 34: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,049 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,049 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #76#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,049 INFO L272 TraceCheckUtils]: 39: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,050 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,050 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #78#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,052 INFO L290 TraceCheckUtils]: 46: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,052 INFO L272 TraceCheckUtils]: 47: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,052 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,053 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 12:12:55,053 INFO L272 TraceCheckUtils]: 52: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:55,054 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:55,054 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-08 12:12:55,054 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-08 12:12:55,054 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 12:12:55,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:12:55,402 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-08 12:12:55,402 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-08 12:12:55,403 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:55,403 INFO L272 TraceCheckUtils]: 52: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:55,404 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:55,404 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,404 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,404 INFO L272 TraceCheckUtils]: 47: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,404 INFO L290 TraceCheckUtils]: 46: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:55,770 INFO L290 TraceCheckUtils]: 45: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:12:55,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,772 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #78#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,772 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,772 INFO L272 TraceCheckUtils]: 39: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,773 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #76#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,773 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,773 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,773 INFO L272 TraceCheckUtils]: 34: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,774 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #74#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,774 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,774 INFO L272 TraceCheckUtils]: 29: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,774 INFO L290 TraceCheckUtils]: 28: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !false; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:12:55,775 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #72#return; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #70#return; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #68#return; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L272 TraceCheckUtils]: 12: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {3818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #66#return; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-08 12:12:55,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-08 12:12:55,777 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-08 12:12:55,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:55,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876169903] [2022-04-08 12:12:55,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:55,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [641347529] [2022-04-08 12:12:55,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [641347529] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:12:55,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:12:55,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6] total 12 [2022-04-08 12:12:55,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:55,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [903763539] [2022-04-08 12:12:55,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [903763539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:55,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:55,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:12:55,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1011605555] [2022-04-08 12:12:55,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:55,778 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-08 12:12:55,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:55,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:12:55,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:55,813 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:12:55,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:55,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:12:55,814 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:12:55,814 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:12:56,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:56,838 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-08 12:12:56,838 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:12:56,838 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-08 12:12:56,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:56,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:12:56,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-08 12:12:56,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:12:56,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-08 12:12:56,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-08 12:12:56,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:56,907 INFO L225 Difference]: With dead ends: 118 [2022-04-08 12:12:56,907 INFO L226 Difference]: Without dead ends: 116 [2022-04-08 12:12:56,908 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:12:56,908 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 243 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:56,908 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 184 Invalid, 243 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 12:12:56,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-08 12:12:57,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-08 12:12:57,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:57,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:12:57,028 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:12:57,029 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:12:57,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:57,032 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 12:12:57,032 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 12:12:57,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:57,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:57,032 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-08 12:12:57,033 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-08 12:12:57,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:57,035 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 12:12:57,036 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 12:12:57,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:57,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:57,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:57,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:57,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:12:57,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-08 12:12:57,040 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-08 12:12:57,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:57,040 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-08 12:12:57,041 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:12:57,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-08 12:12:57,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:57,179 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-08 12:12:57,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 12:12:57,179 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:57,179 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:12:57,198 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:57,398 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:57,399 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:57,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:57,399 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-08 12:12:57,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:57,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1437835884] [2022-04-08 12:12:57,399 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:57,399 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-08 12:12:57,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:57,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363888505] [2022-04-08 12:12:57,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:57,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:57,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:57,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1338421921] [2022-04-08 12:12:57,411 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:57,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:57,411 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:57,412 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:57,413 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 12:12:57,458 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:57,458 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:57,459 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:12:57,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:57,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:12:57,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-08 12:12:57,745 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,748 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-08 12:12:57,748 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,748 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,748 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,749 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,749 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-08 12:12:57,749 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,749 INFO L290 TraceCheckUtils]: 28: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,749 INFO L272 TraceCheckUtils]: 29: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,750 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,751 INFO L272 TraceCheckUtils]: 34: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,751 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,751 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,751 INFO L272 TraceCheckUtils]: 39: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,752 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,752 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,752 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,752 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,753 INFO L290 TraceCheckUtils]: 44: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:12:57,753 INFO L290 TraceCheckUtils]: 45: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:12:57,753 INFO L290 TraceCheckUtils]: 46: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:12:57,754 INFO L272 TraceCheckUtils]: 47: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,754 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,754 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,754 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,754 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:12:57,754 INFO L272 TraceCheckUtils]: 52: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,755 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,755 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,755 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,755 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:12:57,756 INFO L272 TraceCheckUtils]: 57: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:57,756 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:57,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-08 12:12:57,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-08 12:12:57,757 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 12:12:57,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:12:57,992 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-08 12:12:57,993 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-08 12:12:57,993 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:12:57,994 INFO L272 TraceCheckUtils]: 57: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:12:57,994 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:12:57,994 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L272 TraceCheckUtils]: 52: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:12:57,995 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:57,995 INFO L272 TraceCheckUtils]: 47: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:57,996 INFO L290 TraceCheckUtils]: 46: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:12:58,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:12:58,615 INFO L290 TraceCheckUtils]: 44: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,615 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,615 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L272 TraceCheckUtils]: 39: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,616 INFO L272 TraceCheckUtils]: 34: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,617 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,617 INFO L272 TraceCheckUtils]: 29: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:12:58,618 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-08 12:12:58,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 12:12:58,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4861#true} is VALID [2022-04-08 12:12:58,620 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-08 12:12:58,620 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 12:12:58,620 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:12:58,620 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363888505] [2022-04-08 12:12:58,620 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:12:58,620 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1338421921] [2022-04-08 12:12:58,620 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1338421921] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:12:58,620 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:12:58,620 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 12:12:58,622 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:12:58,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1437835884] [2022-04-08 12:12:58,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1437835884] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:12:58,623 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:12:58,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:12:58,623 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1871020546] [2022-04-08 12:12:58,623 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:12:58,623 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-08 12:12:58,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:12:58,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 12:12:58,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:58,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:12:58,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:58,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:12:58,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:12:58,651 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 12:12:59,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:59,122 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-08 12:12:59,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:12:59,122 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-08 12:12:59,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:12:59,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 12:12:59,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:12:59,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 12:12:59,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:12:59,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 12:12:59,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:59,199 INFO L225 Difference]: With dead ends: 137 [2022-04-08 12:12:59,199 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 12:12:59,199 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:12:59,200 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:12:59,200 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:12:59,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 12:12:59,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 12:12:59,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:12:59,338 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 12:12:59,338 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 12:12:59,339 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 12:12:59,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:59,342 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 12:12:59,342 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:12:59,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:59,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:59,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-08 12:12:59,343 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-08 12:12:59,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:12:59,346 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 12:12:59,346 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:12:59,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:12:59,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:12:59,346 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:12:59,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:12:59,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 12:12:59,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-08 12:12:59,350 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-08 12:12:59,350 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:12:59,350 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-08 12:12:59,350 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 12:12:59,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-08 12:12:59,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:12:59,551 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:12:59,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:12:59,552 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:12:59,552 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:12:59,572 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 12:12:59,752 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 12:12:59,752 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:12:59,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:12:59,753 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-08 12:12:59,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:12:59,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912681785] [2022-04-08 12:12:59,753 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:12:59,753 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-08 12:12:59,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:12:59,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1415150035] [2022-04-08 12:12:59,753 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:12:59,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:12:59,765 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:12:59,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1647039905] [2022-04-08 12:12:59,765 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:12:59,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:12:59,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:12:59,768 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:12:59,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 12:12:59,832 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:12:59,832 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:12:59,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 12:12:59,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:12:59,844 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:00,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:00,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:00,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:00,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:00,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:00,239 INFO L272 TraceCheckUtils]: 17: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:00,240 INFO L272 TraceCheckUtils]: 22: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,240 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:00,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,241 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,241 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,241 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,242 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,243 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,243 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,244 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,245 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,245 INFO L290 TraceCheckUtils]: 46: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !false; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,245 INFO L272 TraceCheckUtils]: 47: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,245 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #74#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,246 INFO L272 TraceCheckUtils]: 52: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #76#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,246 INFO L272 TraceCheckUtils]: 57: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,247 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #78#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,263 INFO L290 TraceCheckUtils]: 62: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !!(~a~0 != ~b~0); {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} is VALID [2022-04-08 12:13:00,264 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 12:13:00,264 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 12:13:00,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:00,708 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 12:13:00,708 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-08 12:13:00,708 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-08 12:13:00,709 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-08 12:13:00,709 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 12:13:00,709 INFO L290 TraceCheckUtils]: 63: Hoare triple {6264#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-08 12:13:00,709 INFO L290 TraceCheckUtils]: 62: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {6264#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:13:00,710 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:00,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,710 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,710 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,710 INFO L272 TraceCheckUtils]: 57: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,710 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:00,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L272 TraceCheckUtils]: 52: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:00,711 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,711 INFO L272 TraceCheckUtils]: 47: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,712 INFO L290 TraceCheckUtils]: 46: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:00,712 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:00,712 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,713 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,713 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,713 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,713 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,714 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,715 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,715 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 12:13:00,715 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #72#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 12:13:00,715 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L272 TraceCheckUtils]: 22: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #70#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 12:13:00,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L272 TraceCheckUtils]: 17: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,716 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #68#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 12:13:00,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 12:13:00,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 12:13:00,717 INFO L272 TraceCheckUtils]: 12: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 12:13:00,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 12:13:00,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:00,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:00,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:00,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 12:13:00,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6034#true} is VALID [2022-04-08 12:13:00,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-08 12:13:00,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-08 12:13:00,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 12:13:00,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6034#true} is VALID [2022-04-08 12:13:00,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-08 12:13:00,719 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 12:13:00,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:00,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1415150035] [2022-04-08 12:13:00,719 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:00,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1647039905] [2022-04-08 12:13:00,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1647039905] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:00,719 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:00,719 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 12:13:00,719 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:00,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912681785] [2022-04-08 12:13:00,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912681785] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:00,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:00,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:13:00,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [100249044] [2022-04-08 12:13:00,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:00,720 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:13:00,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:00,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:00,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:00,750 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:13:00,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:00,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:13:00,750 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:13:00,750 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:01,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:01,295 INFO L93 Difference]: Finished difference Result 156 states and 197 transitions. [2022-04-08 12:13:01,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:13:01,295 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:13:01,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:01,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:01,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 12:13:01,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:01,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 12:13:01,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-08 12:13:01,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:01,379 INFO L225 Difference]: With dead ends: 156 [2022-04-08 12:13:01,379 INFO L226 Difference]: Without dead ends: 119 [2022-04-08 12:13:01,382 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 127 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:13:01,383 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 14 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:01,384 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 159 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:13:01,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-08 12:13:01,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 115. [2022-04-08 12:13:01,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:01,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 12:13:01,534 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 12:13:01,534 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 12:13:01,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:01,537 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-08 12:13:01,537 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-08 12:13:01,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:01,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:01,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-08 12:13:01,539 INFO L87 Difference]: Start difference. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-08 12:13:01,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:01,544 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-08 12:13:01,544 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-08 12:13:01,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:01,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:01,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:01,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:01,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 12:13:01,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 140 transitions. [2022-04-08 12:13:01,552 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 140 transitions. Word has length 69 [2022-04-08 12:13:01,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:01,552 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 140 transitions. [2022-04-08 12:13:01,552 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:01,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 140 transitions. [2022-04-08 12:13:01,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:01,729 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-08 12:13:01,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:13:01,729 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:01,729 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:13:01,773 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 12:13:01,955 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 12:13:01,955 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:01,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:01,956 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 3 times [2022-04-08 12:13:01,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:01,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [381731213] [2022-04-08 12:13:01,956 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:01,956 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 4 times [2022-04-08 12:13:01,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:01,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2112690916] [2022-04-08 12:13:01,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:01,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:01,974 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:01,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2137430471] [2022-04-08 12:13:01,974 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:13:01,974 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:01,974 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:01,988 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:13:01,989 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 12:13:02,025 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:13:02,025 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:02,026 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 12:13:02,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:02,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:02,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-08 12:13:02,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7249#true} is VALID [2022-04-08 12:13:02,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-08 12:13:02,274 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:02,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:02,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:02,292 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:02,292 INFO L272 TraceCheckUtils]: 17: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,293 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:02,293 INFO L272 TraceCheckUtils]: 22: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,293 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #72#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:02,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,294 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,294 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,294 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,294 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,295 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,296 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,296 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:02,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !false; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,297 INFO L272 TraceCheckUtils]: 47: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #74#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,298 INFO L272 TraceCheckUtils]: 52: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #76#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,298 INFO L272 TraceCheckUtils]: 57: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,298 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,299 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #78#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,299 INFO L290 TraceCheckUtils]: 62: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !!(~a~0 != ~b~0); {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 12:13:02,300 INFO L290 TraceCheckUtils]: 63: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 12:13:02,300 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 12:13:02,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:02,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 12:13:02,647 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-08 12:13:02,647 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-08 12:13:02,647 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-08 12:13:02,648 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 12:13:02,648 INFO L290 TraceCheckUtils]: 63: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-08 12:13:02,648 INFO L290 TraceCheckUtils]: 62: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,649 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #78#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,649 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,649 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,649 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,649 INFO L272 TraceCheckUtils]: 57: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,650 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #76#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,650 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,650 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,650 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,650 INFO L272 TraceCheckUtils]: 52: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,650 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #74#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,650 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,651 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,651 INFO L272 TraceCheckUtils]: 47: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,651 INFO L290 TraceCheckUtils]: 46: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !false; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,652 INFO L290 TraceCheckUtils]: 45: Hoare triple {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:02,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} is VALID [2022-04-08 12:13:02,653 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,653 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,653 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,654 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,654 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,654 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,654 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,655 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,655 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {7589#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 12:13:02,656 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #72#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L272 TraceCheckUtils]: 22: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #70#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,657 INFO L272 TraceCheckUtils]: 17: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,657 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 12:13:02,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:02,658 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-08 12:13:02,658 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-08 12:13:02,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 12:13:02,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7249#true} is VALID [2022-04-08 12:13:02,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-08 12:13:02,659 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 12:13:02,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:02,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2112690916] [2022-04-08 12:13:02,659 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:02,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2137430471] [2022-04-08 12:13:02,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2137430471] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:02,659 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:02,659 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 12:13:02,660 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:02,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [381731213] [2022-04-08 12:13:02,660 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [381731213] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:02,660 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:02,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:13:02,660 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2098320882] [2022-04-08 12:13:02,660 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:02,660 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:13:02,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:02,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:02,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:02,696 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:13:02,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:02,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:13:02,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:13:02,697 INFO L87 Difference]: Start difference. First operand 115 states and 140 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:03,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:03,123 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2022-04-08 12:13:03,123 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:13:03,123 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:13:03,123 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:03,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:03,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 12:13:03,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:03,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 12:13:03,126 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 12:13:03,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:03,214 INFO L225 Difference]: With dead ends: 133 [2022-04-08 12:13:03,214 INFO L226 Difference]: Without dead ends: 106 [2022-04-08 12:13:03,214 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:13:03,214 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:03,215 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 176 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:13:03,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-08 12:13:03,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-08 12:13:03,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:03,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:13:03,380 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:13:03,380 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:13:03,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:03,382 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 12:13:03,382 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 12:13:03,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:03,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:03,383 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 12:13:03,383 INFO L87 Difference]: Start difference. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 12:13:03,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:03,385 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 12:13:03,385 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 12:13:03,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:03,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:03,385 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:03,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:03,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:13:03,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2022-04-08 12:13:03,389 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 124 transitions. Word has length 69 [2022-04-08 12:13:03,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:03,391 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 124 transitions. [2022-04-08 12:13:03,391 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:13:03,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 124 transitions. [2022-04-08 12:13:03,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:03,537 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 12:13:03,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 12:13:03,540 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:03,541 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:13:03,557 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 12:13:03,747 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 12:13:03,747 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:03,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:03,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-08 12:13:03,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:03,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [947959574] [2022-04-08 12:13:03,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:03,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-08 12:13:03,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:03,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1991457000] [2022-04-08 12:13:03,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:03,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:03,761 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:03,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1145311129] [2022-04-08 12:13:03,761 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:13:03,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:03,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:03,763 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:13:03,778 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 12:13:03,826 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:13:03,827 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:03,827 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:13:03,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:03,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:04,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8372#true} is VALID [2022-04-08 12:13:04,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:04,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:04,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:04,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:04,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:04,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,119 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:04,119 INFO L272 TraceCheckUtils]: 17: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,120 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:04,120 INFO L272 TraceCheckUtils]: 22: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:04,120 INFO L290 TraceCheckUtils]: 24: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:04,121 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:04,121 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:13:04,121 INFO L290 TraceCheckUtils]: 27: Hoare triple {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,122 INFO L290 TraceCheckUtils]: 28: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !false; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,122 INFO L272 TraceCheckUtils]: 29: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,122 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #74#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,123 INFO L272 TraceCheckUtils]: 34: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,123 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,123 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,124 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #76#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,124 INFO L272 TraceCheckUtils]: 39: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,124 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,124 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,125 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #78#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,125 INFO L290 TraceCheckUtils]: 44: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,126 INFO L290 TraceCheckUtils]: 45: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,126 INFO L290 TraceCheckUtils]: 46: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !false; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,126 INFO L272 TraceCheckUtils]: 47: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,126 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,126 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,126 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #74#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,127 INFO L272 TraceCheckUtils]: 52: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #76#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,127 INFO L272 TraceCheckUtils]: 57: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:04,127 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:04,128 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #78#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,128 INFO L290 TraceCheckUtils]: 62: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 63: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 66: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 67: Hoare triple {8373#false} assume !(0 == ~cond); {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 68: Hoare triple {8373#false} assume true; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8373#false} {8373#false} #74#return; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 12:13:04,129 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 54 proven. 6 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-08 12:13:04,130 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:05,025 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8372#true} {8373#false} #74#return; {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 68: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 67: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 66: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,026 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 12:13:05,026 INFO L290 TraceCheckUtils]: 63: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-08 12:13:05,027 INFO L290 TraceCheckUtils]: 62: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,027 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #78#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,027 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,027 INFO L272 TraceCheckUtils]: 57: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,028 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #76#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,028 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,028 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,028 INFO L272 TraceCheckUtils]: 52: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,029 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #74#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,029 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,029 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,029 INFO L272 TraceCheckUtils]: 47: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,029 INFO L290 TraceCheckUtils]: 46: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !false; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:05,030 INFO L290 TraceCheckUtils]: 44: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !!(~a~0 != ~b~0); {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,030 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #78#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L272 TraceCheckUtils]: 39: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #76#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,031 INFO L272 TraceCheckUtils]: 34: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,032 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #74#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,032 INFO L272 TraceCheckUtils]: 29: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !false; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 12:13:05,033 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #72#return; {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} is VALID [2022-04-08 12:13:05,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:05,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:05,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:05,034 INFO L272 TraceCheckUtils]: 22: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #70#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L272 TraceCheckUtils]: 17: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #68#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 12:13:05,035 INFO L272 TraceCheckUtils]: 12: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 12:13:05,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 12:13:05,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:05,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:05,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:05,037 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-08 12:13:05,037 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 26 proven. 12 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-08 12:13:05,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:05,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1991457000] [2022-04-08 12:13:05,038 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:05,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1145311129] [2022-04-08 12:13:05,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1145311129] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:05,038 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:05,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 12:13:05,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:05,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [947959574] [2022-04-08 12:13:05,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [947959574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:05,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:05,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:13:05,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347990484] [2022-04-08 12:13:05,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:05,039 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 12:13:05,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:05,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:13:05,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:05,070 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:13:05,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:05,071 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:13:05,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:13:05,072 INFO L87 Difference]: Start difference. First operand 106 states and 124 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:13:05,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:05,608 INFO L93 Difference]: Finished difference Result 123 states and 139 transitions. [2022-04-08 12:13:05,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:13:05,608 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 12:13:05,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:05,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:13:05,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-08 12:13:05,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:13:05,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-08 12:13:05,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-08 12:13:05,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:05,670 INFO L225 Difference]: With dead ends: 123 [2022-04-08 12:13:05,670 INFO L226 Difference]: Without dead ends: 85 [2022-04-08 12:13:05,670 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:13:05,671 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 10 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:05,671 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 191 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:13:05,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-08 12:13:05,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-04-08 12:13:05,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:05,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 12:13:05,805 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 12:13:05,805 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 12:13:05,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:05,807 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-08 12:13:05,807 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 12:13:05,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:05,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:05,807 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-08 12:13:05,808 INFO L87 Difference]: Start difference. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-08 12:13:05,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:05,809 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-08 12:13:05,809 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 12:13:05,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:05,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:05,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:05,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:05,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 12:13:05,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 100 transitions. [2022-04-08 12:13:05,811 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 100 transitions. Word has length 74 [2022-04-08 12:13:05,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:05,811 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 100 transitions. [2022-04-08 12:13:05,811 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:13:05,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 100 transitions. [2022-04-08 12:13:05,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:05,923 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 12:13:05,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:13:05,923 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:05,923 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:13:05,942 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 12:13:06,123 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 12:13:06,124 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:06,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:06,124 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-08 12:13:06,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:06,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1893933773] [2022-04-08 12:13:06,125 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:06,125 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-08 12:13:06,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:06,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1658093563] [2022-04-08 12:13:06,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:06,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:06,155 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:06,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1762667116] [2022-04-08 12:13:06,155 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:13:06,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:06,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:06,156 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:13:06,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 12:13:06,203 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:13:06,203 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:06,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:13:06,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:06,216 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:06,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-08 12:13:06,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-08 12:13:06,734 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:06,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:06,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:06,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:06,735 INFO L272 TraceCheckUtils]: 17: Hoare triple {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:13:06,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:06,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:06,737 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:06,737 INFO L272 TraceCheckUtils]: 22: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,737 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,737 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #72#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:13:06,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !false; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,738 INFO L272 TraceCheckUtils]: 29: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,738 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,739 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #74#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,739 INFO L272 TraceCheckUtils]: 34: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,739 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #76#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,739 INFO L272 TraceCheckUtils]: 39: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,740 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,740 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #78#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,742 INFO L290 TraceCheckUtils]: 46: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !false; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,742 INFO L272 TraceCheckUtils]: 47: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,742 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #74#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,743 INFO L272 TraceCheckUtils]: 52: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #76#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,743 INFO L272 TraceCheckUtils]: 57: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:06,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:06,744 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #78#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 12:13:06,744 INFO L290 TraceCheckUtils]: 62: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 63: Hoare triple {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 66: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 67: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 68: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9421#false} {9421#false} #74#return; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 71: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 72: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-08 12:13:06,745 INFO L290 TraceCheckUtils]: 73: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9421#false} {9421#false} #76#return; {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 12:13:06,746 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 80 proven. 6 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-08 12:13:06,746 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:07,678 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 12:13:07,678 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-08 12:13:07,679 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 12:13:07,679 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 12:13:07,679 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9420#true} {9421#false} #76#return; {9421#false} is VALID [2022-04-08 12:13:07,679 INFO L290 TraceCheckUtils]: 73: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,679 INFO L290 TraceCheckUtils]: 72: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,679 INFO L290 TraceCheckUtils]: 71: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,679 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,679 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9420#true} {9421#false} #74#return; {9421#false} is VALID [2022-04-08 12:13:07,708 INFO L290 TraceCheckUtils]: 68: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,709 INFO L290 TraceCheckUtils]: 67: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,709 INFO L290 TraceCheckUtils]: 66: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,709 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,709 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 12:13:07,711 INFO L290 TraceCheckUtils]: 63: Hoare triple {9711#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-08 12:13:07,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {9711#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:13:07,712 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:07,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,712 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,712 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,712 INFO L272 TraceCheckUtils]: 57: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:07,713 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L272 TraceCheckUtils]: 52: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:07,713 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,713 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,714 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,714 INFO L272 TraceCheckUtils]: 47: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,714 INFO L290 TraceCheckUtils]: 46: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:07,715 INFO L290 TraceCheckUtils]: 45: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:13:07,715 INFO L290 TraceCheckUtils]: 44: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !!(~a~0 != ~b~0); {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,716 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #78#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L272 TraceCheckUtils]: 39: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #76#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,717 INFO L272 TraceCheckUtils]: 34: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,717 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #74#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,717 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,717 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,717 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,717 INFO L272 TraceCheckUtils]: 29: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,718 INFO L290 TraceCheckUtils]: 28: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !false; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 12:13:07,719 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} #72#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-08 12:13:07,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,719 INFO L272 TraceCheckUtils]: 22: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} #70#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-08 12:13:07,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:07,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:07,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:07,721 INFO L272 TraceCheckUtils]: 17: Hoare triple {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,721 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} is VALID [2022-04-08 12:13:07,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:13:07,722 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-08 12:13:07,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 12:13:07,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-08 12:13:07,723 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 12 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-08 12:13:07,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:07,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1658093563] [2022-04-08 12:13:07,723 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:07,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1762667116] [2022-04-08 12:13:07,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1762667116] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:07,724 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:07,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-08 12:13:07,724 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:07,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1893933773] [2022-04-08 12:13:07,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1893933773] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:07,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:07,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:13:07,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [126951831] [2022-04-08 12:13:07,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:07,724 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-08 12:13:07,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:07,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:13:07,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:07,763 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:13:07,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:07,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:13:07,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:13:07,763 INFO L87 Difference]: Start difference. First operand 85 states and 100 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:13:08,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:08,099 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-04-08 12:13:08,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:13:08,099 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-08 12:13:08,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:08,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:13:08,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 12:13:08,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:13:08,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 12:13:08,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-08 12:13:08,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:08,149 INFO L225 Difference]: With dead ends: 93 [2022-04-08 12:13:08,149 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 12:13:08,149 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=261, Unknown=0, NotChecked=0, Total=342 [2022-04-08 12:13:08,150 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 6 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 99 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:08,150 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 115 Invalid, 99 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:13:08,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 12:13:08,150 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 12:13:08,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:08,150 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:13:08,150 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:13:08,150 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:13:08,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:08,151 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:13:08,151 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:13:08,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:08,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:08,151 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 12:13:08,151 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 12:13:08,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:08,151 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:13:08,151 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:13:08,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:08,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:08,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:08,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:08,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:13:08,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 12:13:08,151 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 79 [2022-04-08 12:13:08,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:08,152 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 12:13:08,152 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 12:13:08,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 12:13:08,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:08,152 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:13:08,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:08,154 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 12:13:08,171 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 12:13:08,363 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 12:13:08,365 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 12:13:10,051 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 12:13:10,051 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 12:13:10,052 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 12:13:10,052 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L35-2(lines 35 52) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2)) [2022-04-08 12:13:10,052 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 59) the Hoare annotation is: true [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L56(line 56) the Hoare annotation is: (let ((.cse1 (<= 1 main_~x~0)) (.cse2 (= main_~s~0 1)) (.cse3 (<= 1 main_~y~0))) (or (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse0) .cse1 .cse2 (= main_~a~0 .cse0) (= (+ main_~q~0 1) 0) .cse3 (<= main_~x~0 2))) (and .cse1 .cse2 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse3))) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L54(line 54) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-08 12:13:10,052 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 59) the Hoare annotation is: true [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L38(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 12:13:10,052 INFO L878 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L36-1(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 59) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0) (<= main_~x~0 2)) [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (<= 1 main_~x~0)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~b~0 main_~y~0)) (.cse3 (= main_~q~0 0)) (.cse4 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse5 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (let ((.cse6 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse6) .cse1 (= main_~a~0 .cse6) (= (+ main_~q~0 1) 0) .cse4 .cse7 (<= main_~x~0 2) .cse5)) (and (= main_~r~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse7 .cse5))) [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 51) the Hoare annotation is: (and (<= main_~y~0 2) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1)) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L43-2(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,053 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,054 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,054 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:13:10,054 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 12:13:10,054 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 12:13:10,054 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:13:10,054 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:13:10,054 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:13:10,054 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 12:13:10,056 INFO L719 BasicCegarLoop]: Path program histogram: [6, 4, 4, 2, 2, 2, 2, 2, 2] [2022-04-08 12:13:10,057 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 12:13:10,059 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 12:13:10,060 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 12:13:10,092 INFO L163 areAnnotationChecker]: CFG has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 12:13:10,099 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 12:13:10 BoogieIcfgContainer [2022-04-08 12:13:10,099 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 12:13:10,100 INFO L158 Benchmark]: Toolchain (without parser) took 70158.23ms. Allocated memory was 192.9MB in the beginning and 268.4MB in the end (delta: 75.5MB). Free memory was 145.3MB in the beginning and 200.6MB in the end (delta: -55.2MB). Peak memory consumption was 129.5MB. Max. memory is 8.0GB. [2022-04-08 12:13:10,100 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 192.9MB. Free memory is still 161.2MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 12:13:10,100 INFO L158 Benchmark]: CACSL2BoogieTranslator took 203.48ms. Allocated memory is still 192.9MB. Free memory was 145.0MB in the beginning and 171.1MB in the end (delta: -26.0MB). Peak memory consumption was 13.5MB. Max. memory is 8.0GB. [2022-04-08 12:13:10,101 INFO L158 Benchmark]: Boogie Preprocessor took 21.62ms. Allocated memory is still 192.9MB. Free memory was 171.1MB in the beginning and 169.7MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 12:13:10,101 INFO L158 Benchmark]: RCFGBuilder took 254.42ms. Allocated memory is still 192.9MB. Free memory was 169.7MB in the beginning and 157.8MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 12:13:10,101 INFO L158 Benchmark]: TraceAbstraction took 69674.57ms. Allocated memory was 192.9MB in the beginning and 268.4MB in the end (delta: 75.5MB). Free memory was 157.4MB in the beginning and 200.6MB in the end (delta: -43.2MB). Peak memory consumption was 142.2MB. Max. memory is 8.0GB. [2022-04-08 12:13:10,102 INFO L339 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.14ms. Allocated memory is still 192.9MB. Free memory is still 161.2MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 203.48ms. Allocated memory is still 192.9MB. Free memory was 145.0MB in the beginning and 171.1MB in the end (delta: -26.0MB). Peak memory consumption was 13.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 21.62ms. Allocated memory is still 192.9MB. Free memory was 171.1MB in the beginning and 169.7MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 254.42ms. Allocated memory is still 192.9MB. Free memory was 169.7MB in the beginning and 157.8MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 69674.57ms. Allocated memory was 192.9MB in the beginning and 268.4MB in the end (delta: 75.5MB). Free memory was 157.4MB in the beginning and 200.6MB in the end (delta: -43.2MB). Peak memory consumption was 142.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 69.6s, OverallIterations: 13, TraceHistogramMax: 9, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 6.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 233 SdHoareTripleChecker+Valid, 1.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 159 mSDsluCounter, 1917 SdHoareTripleChecker+Invalid, 1.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1399 mSDsCounter, 109 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1309 IncrementalHoareTripleChecker+Invalid, 1418 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 109 mSolverCounterUnsat, 518 mSDtfsCounter, 1309 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1176 GetRequests, 1051 SyntacticMatches, 6 SemanticMatches, 119 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=131occurred in iteration=9, InterpolantAutomatonStates: 92, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.2s AutomataMinimizationTime, 13 MinimizatonAttempts, 12 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 37 LocationsWithAnnotation, 409 PreInvPairs, 510 NumberOfFragments, 1034 HoareAnnotationTreeSize, 409 FomulaSimplifications, 252 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 37 FomulaSimplificationsInter, 852 FormulaSimplificationTreeSizeReductionInter, 1.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((y == b + x && y <= 2) && s == 1) && a == y * r + p * x) && 1 <= a) && q + 1 == 0) && 0 < b) && a == x) && p == 1) || (((((((((a + y == x && r + 1 == 0) && s == 1) && 0 < a) && q == 0) && 1 <= b) && 1 <= y) && b < 2) && x <= 2) && p == 1)) || (((((((((y <= 2 && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && q == 0) && 1 <= y) && a == x) && x <= 2) && p == 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 12:13:10,124 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...