/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_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:02:37,260 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:02:37,261 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:02:37,287 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:02:37,288 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:02:37,289 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:02:37,290 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:02:37,291 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:02:37,292 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:02:37,293 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:02:37,294 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:02:37,295 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:02:37,300 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:02:37,305 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:02:37,306 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:02:37,308 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:02:37,308 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:02:37,310 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:02:37,315 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:02:37,319 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:02:37,320 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:02:37,320 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:02:37,321 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:02:37,321 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:02:37,322 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:02:37,324 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:02:37,324 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:02:37,324 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:02:37,324 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:02:37,325 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:02:37,325 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:02:37,325 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:02:37,326 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:02:37,326 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:02:37,327 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:02:37,328 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:02:37,328 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:02:37,328 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:02:37,329 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:02:37,329 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:02:37,329 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:02:37,334 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:02:37,335 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:02:37,346 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:02:37,346 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:02:37,348 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:02:37,348 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:02:37,349 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:02:37,349 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:02:37,350 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:02:37,350 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:02:37,350 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:02:37,351 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-28 12:02:37,558 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:02:37,572 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:02:37,574 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:02:37,575 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:02:37,575 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:02:37,576 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound10.c [2022-04-28 12:02:37,643 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3c08f824/c09ae35405d14c409650bca97f2e3d42/FLAG8d7e13977 [2022-04-28 12:02:37,994 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:02:37,995 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound10.c [2022-04-28 12:02:37,999 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3c08f824/c09ae35405d14c409650bca97f2e3d42/FLAG8d7e13977 [2022-04-28 12:02:38,423 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3c08f824/c09ae35405d14c409650bca97f2e3d42 [2022-04-28 12:02:38,425 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:02:38,427 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:02:38,430 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:02:38,430 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:02:38,433 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:02:38,434 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,434 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5fdeaee2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38, skipping insertion in model container [2022-04-28 12:02:38,434 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,439 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:02:38,449 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:02:38,618 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_unwindbound10.c[489,502] [2022-04-28 12:02:38,637 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:02:38,645 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:02:38,653 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_unwindbound10.c[489,502] [2022-04-28 12:02:38,659 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:02:38,669 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:02:38,669 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38 WrapperNode [2022-04-28 12:02:38,669 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:02:38,670 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:02:38,670 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:02:38,670 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:02:38,677 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,677 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,682 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,682 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,687 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,690 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,691 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,692 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:02:38,693 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:02:38,693 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:02:38,693 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:02:38,699 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (1/1) ... [2022-04-28 12:02:38,705 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:02:38,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:38,749 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-28 12:02:38,767 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-28 12:02:38,788 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:02:38,789 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:02:38,789 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:02:38,789 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:02:38,789 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:02:38,790 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:02:38,790 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:02:38,790 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:02:38,790 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:02:38,791 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:02:38,791 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:02:38,791 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:02:38,792 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:02:38,792 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:02:38,793 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:02:38,794 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:02:38,794 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:02:38,794 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:02:38,794 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:02:38,795 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:02:38,851 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:02:38,852 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:02:38,992 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:02:38,999 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:02:38,999 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:02:39,001 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:02:39 BoogieIcfgContainer [2022-04-28 12:02:39,001 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:02:39,003 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:02:39,019 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:02:39,035 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:02:39,035 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:02:38" (1/3) ... [2022-04-28 12:02:39,036 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e1ab064 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:02:39, skipping insertion in model container [2022-04-28 12:02:39,036 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:02:38" (2/3) ... [2022-04-28 12:02:39,036 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e1ab064 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:02:39, skipping insertion in model container [2022-04-28 12:02:39,036 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:02:39" (3/3) ... [2022-04-28 12:02:39,038 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound10.c [2022-04-28 12:02:39,070 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:02:39,071 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:02:39,117 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:02:39,122 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@43253f51, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3b82604 [2022-04-28 12:02:39,123 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:02:39,131 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:02:39,137 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:02:39,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:39,138 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:02:39,139 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:39,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:39,143 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-28 12:02:39,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:39,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1672123926] [2022-04-28 12:02:39,161 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:39,162 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-28 12:02:39,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:39,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1502565517] [2022-04-28 12:02:39,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:39,167 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:39,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:39,341 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:02:39,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:39,361 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {38#true} is VALID [2022-04-28 12:02:39,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:02:39,362 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:02:39,362 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:02:39,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:39,370 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:02:39,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:02:39,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:02:39,371 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:02:39,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:02:39,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:39,378 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:02:39,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:02:39,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:02:39,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:02:39,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:02:39,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {38#true} is VALID [2022-04-28 12:02:39,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:02:39,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:02:39,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-28 12:02:39,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-28 12:02:39,382 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-28 12:02:39,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:02:39,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:02:39,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:02:39,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:02:39,383 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-28 12:02:39,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:02:39,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:02:39,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:02:39,384 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:02:39,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-28 12:02:39,384 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-28 12:02:39,385 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-28 12:02:39,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 12:02:39,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 12:02:39,385 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 12:02:39,386 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:02:39,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:39,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1502565517] [2022-04-28 12:02:39,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1502565517] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:39,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:39,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:02:39,389 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:39,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1672123926] [2022-04-28 12:02:39,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1672123926] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:39,390 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:39,390 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:02:39,390 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1776920899] [2022-04-28 12:02:39,391 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:39,394 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 12:02:39,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:39,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:39,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:39,432 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:02:39,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:39,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:02:39,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:02:39,462 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:39,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:39,661 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-28 12:02:39,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:02:39,661 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 12:02:39,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:39,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:39,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:02:39,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:39,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:02:39,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-28 12:02:39,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:39,823 INFO L225 Difference]: With dead ends: 64 [2022-04-28 12:02:39,823 INFO L226 Difference]: Without dead ends: 31 [2022-04-28 12:02:39,826 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 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-28 12:02:39,830 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:39,831 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:02:39,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-28 12:02:39,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-28 12:02:39,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:39,859 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:39,859 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:39,860 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:39,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:39,864 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:02:39,864 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:02:39,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:39,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:39,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-28 12:02:39,865 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-28 12:02:39,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:39,870 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:02:39,870 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:02:39,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:39,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:39,871 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:39,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:39,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:39,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 12:02:39,875 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-28 12:02:39,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:39,875 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 12:02:39,875 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:39,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 12:02:39,913 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-28 12:02:39,913 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 12:02:39,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:02:39,914 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:39,915 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:02:39,915 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:02:39,916 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:39,917 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:39,918 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-28 12:02:39,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:39,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [632108852] [2022-04-28 12:02:39,922 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:39,922 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-28 12:02:39,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:39,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2051716482] [2022-04-28 12:02:39,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:39,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:39,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:40,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:02:40,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:40,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,049 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:02:40,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:40,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:02:40,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:02:40,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:02:40,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,070 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:02:40,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:40,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:02:40,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:02:40,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:02:40,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {304#true} call ULTIMATE.init(); {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:02:40,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,080 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#(= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,081 INFO L272 TraceCheckUtils]: 6: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-28 12:02:40,081 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:02:40,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:02:40,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:02:40,082 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,082 INFO L272 TraceCheckUtils]: 11: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-28 12:02:40,082 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:02:40,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:02:40,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:02:40,083 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {309#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:02:40,084 INFO L290 TraceCheckUtils]: 17: Hoare triple {309#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {318#(= |main_#t~post6| 0)} is VALID [2022-04-28 12:02:40,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {305#false} is VALID [2022-04-28 12:02:40,084 INFO L272 TraceCheckUtils]: 19: Hoare triple {305#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {305#false} is VALID [2022-04-28 12:02:40,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-28 12:02:40,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-28 12:02:40,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-28 12:02:40,085 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:02:40,086 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:40,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2051716482] [2022-04-28 12:02:40,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2051716482] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:40,086 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:40,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:40,086 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:40,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [632108852] [2022-04-28 12:02:40,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [632108852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:40,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:40,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:40,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1831907130] [2022-04-28 12:02:40,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:40,088 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:02:40,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:40,088 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:40,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:40,103 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:40,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:40,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:40,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:02:40,104 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:40,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:40,306 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-28 12:02:40,306 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:02:40,306 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:02:40,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:40,307 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:40,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:02:40,310 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:40,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:02:40,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-28 12:02:40,360 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-28 12:02:40,362 INFO L225 Difference]: With dead ends: 42 [2022-04-28 12:02:40,362 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:02:40,363 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:02:40,363 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:40,364 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:02:40,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:02:40,369 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:02:40,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:40,370 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:40,370 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:40,371 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:40,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:40,373 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:02:40,373 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:02:40,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:40,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:40,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-28 12:02:40,375 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-28 12:02:40,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:40,377 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:02:40,378 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:02:40,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:40,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:40,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:40,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:40,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:02:40,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 12:02:40,381 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-28 12:02:40,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:40,381 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 12:02:40,382 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:02:40,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 12:02:40,422 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-28 12:02:40,423 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:02:40,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:02:40,423 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:40,423 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:02:40,424 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:02:40,424 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:40,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:40,424 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-28 12:02:40,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:40,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [974168286] [2022-04-28 12:02:40,425 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:40,425 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-28 12:02:40,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:40,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1329059830] [2022-04-28 12:02:40,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:40,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:40,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:40,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [537655030] [2022-04-28 12:02:40,442 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:40,442 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:40,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:40,444 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-28 12:02:40,445 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-28 12:02:40,496 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:02:40,496 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:40,516 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:02:40,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:40,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:44,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-28 12:02:44,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {537#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);~counter~0 := 0; {537#true} is VALID [2022-04-28 12:02:44,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:02:44,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-28 12:02:44,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-28 12:02:44,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {537#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {537#true} is VALID [2022-04-28 12:02:44,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {537#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-28 12:02:44,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:02:44,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:02:44,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:02:44,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-28 12:02:44,801 INFO L272 TraceCheckUtils]: 11: Hoare triple {537#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-28 12:02:44,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:02:44,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:02:44,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:02:44,801 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-28 12:02:44,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {537#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:02:44,802 INFO L290 TraceCheckUtils]: 17: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:02:44,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:02:44,804 INFO L272 TraceCheckUtils]: 19: Hoare triple {590#(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)); {600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:44,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:44,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-28 12:02:44,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-28 12:02:44,805 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:02:44,805 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:02:44,806 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:44,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1329059830] [2022-04-28 12:02:44,806 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:44,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [537655030] [2022-04-28 12:02:44,806 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [537655030] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:44,806 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:44,806 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:44,807 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:44,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [974168286] [2022-04-28 12:02:44,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [974168286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:44,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:44,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:44,807 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453705420] [2022-04-28 12:02:44,807 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:44,808 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 12:02:44,808 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:44,808 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:02:44,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:44,833 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:44,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:44,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:44,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:02:44,834 INFO L87 Difference]: Start difference. First operand 32 states and 41 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:02:45,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:45,009 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-28 12:02:45,009 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:02:45,009 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 12:02:45,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:45,010 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:02:45,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:45,012 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:02:45,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:45,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:02:45,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:45,112 INFO L225 Difference]: With dead ends: 49 [2022-04-28 12:02:45,112 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 12:02:45,112 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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-28 12:02:45,113 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:45,113 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:02:45,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 12:02:45,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 12:02:45,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:45,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:45,137 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:45,138 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:45,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:45,140 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:02:45,140 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:02:45,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:45,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:45,142 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 12:02:45,142 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 12:02:45,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:45,151 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:02:45,151 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:02:45,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:45,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:45,152 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:45,152 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:45,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:45,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-28 12:02:45,159 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-28 12:02:45,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:45,159 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-28 12:02:45,159 INFO L496 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:02:45,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-28 12:02:45,216 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-28 12:02:45,217 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:02:45,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:02:45,217 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:45,217 INFO L195 NwaCegarLoop]: trace histogram [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-28 12:02:45,236 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:02:45,435 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:45,436 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:45,437 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:45,437 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-28 12:02:45,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:45,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [101660024] [2022-04-28 12:02:45,437 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:45,437 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-28 12:02:45,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:45,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1239995390] [2022-04-28 12:02:45,438 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:45,438 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:45,450 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:45,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1316199495] [2022-04-28 12:02:45,451 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:45,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:45,451 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:45,452 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-28 12:02:45,453 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-28 12:02:45,488 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:45,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:45,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:02:45,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:45,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:49,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-28 12:02:49,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {896#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);~counter~0 := 0; {896#true} is VALID [2022-04-28 12:02:49,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:02:49,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-28 12:02:49,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-28 12:02:49,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {896#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {896#true} is VALID [2022-04-28 12:02:49,647 INFO L272 TraceCheckUtils]: 6: Hoare triple {896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:02:49,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-28 12:02:49,648 INFO L272 TraceCheckUtils]: 11: Hoare triple {896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:02:49,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:02:49,649 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-28 12:02:49,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:49,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:49,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:49,650 INFO L272 TraceCheckUtils]: 19: Hoare triple {949#(and (= main_~r~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)); {896#true} is VALID [2022-04-28 12:02:49,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:02:49,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:02:49,651 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:02:49,652 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {896#true} {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:49,652 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(and (= main_~r~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)); {974#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:49,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:49,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-28 12:02:49,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-28 12:02:49,654 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:02:49,654 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:02:49,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:49,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1239995390] [2022-04-28 12:02:49,654 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:49,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1316199495] [2022-04-28 12:02:49,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1316199495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:49,654 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:49,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:49,655 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:49,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [101660024] [2022-04-28 12:02:49,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [101660024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:49,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:49,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:49,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1563873657] [2022-04-28 12:02:49,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:49,656 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:02:49,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:49,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:02:49,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:49,676 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:49,676 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:49,676 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:49,676 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:02:49,677 INFO L87 Difference]: Start difference. First operand 46 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:02:49,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:49,905 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-28 12:02:49,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:02:49,906 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:02:49,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:49,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:02:49,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:49,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:02:49,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:49,913 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:02:49,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:49,957 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:02:49,957 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:02:49,957 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-28 12:02:49,961 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:49,961 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:02:49,963 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:02:49,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:02:49,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:49,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:49,992 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:49,992 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:49,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:49,998 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:02:49,998 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:02:49,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:49,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:50,000 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-28 12:02:50,000 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-28 12:02:50,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:50,007 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:02:50,007 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:02:50,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:50,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:50,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:50,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:50,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:02:50,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-28 12:02:50,017 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-28 12:02:50,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:50,021 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-28 12:02:50,021 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:02:50,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-28 12:02:50,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:50,100 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:02:50,101 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:02:50,102 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:50,102 INFO L195 NwaCegarLoop]: trace histogram [3, 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-28 12:02:50,144 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-28 12:02:50,327 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-28 12:02:50,328 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:50,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:50,328 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-28 12:02:50,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:50,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [253923042] [2022-04-28 12:02:50,329 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:50,329 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-28 12:02:50,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:50,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1212449834] [2022-04-28 12:02:50,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:50,330 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:50,341 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:50,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [554994531] [2022-04-28 12:02:50,341 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:50,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:50,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:50,343 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-28 12:02:50,352 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-28 12:02:50,410 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:50,410 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:50,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:02:50,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:50,429 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:50,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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);~counter~0 := 0; {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-28 12:02:50,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,649 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:02:50,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:02:50,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:02:50,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#true} #64#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-28 12:02:50,651 INFO L272 TraceCheckUtils]: 11: Hoare triple {1331#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,651 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,653 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-28 12:02:50,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:02:50,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:02:50,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:02:50,655 INFO L272 TraceCheckUtils]: 19: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,656 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:02:50,656 INFO L272 TraceCheckUtils]: 24: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,657 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:02:50,658 INFO L272 TraceCheckUtils]: 29: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:50,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:50,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:02:50,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:02:50,660 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 12:02:50,660 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:02:50,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:02:50,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:02:50,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:50,848 INFO L272 TraceCheckUtils]: 29: Hoare triple {1410#(= 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)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:50,849 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:02:50,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,849 INFO L272 TraceCheckUtils]: 24: Hoare triple {1410#(= 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)); {1294#true} is VALID [2022-04-28 12:02:50,850 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:02:50,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,850 INFO L272 TraceCheckUtils]: 19: Hoare triple {1410#(= 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)); {1294#true} is VALID [2022-04-28 12:02:50,851 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:02:50,851 INFO L290 TraceCheckUtils]: 17: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {1294#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:02:50,852 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L272 TraceCheckUtils]: 11: Hoare triple {1294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:02:50,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:02:50,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 12:02:50,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-28 12:02:50,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:02:50,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:02:50,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:02:50,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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);~counter~0 := 0; {1294#true} is VALID [2022-04-28 12:02:50,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:02:50,854 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 12:02:50,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:50,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1212449834] [2022-04-28 12:02:50,855 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:50,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554994531] [2022-04-28 12:02:50,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554994531] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:02:50,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:02:50,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:02:50,855 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:50,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [253923042] [2022-04-28 12:02:50,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [253923042] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:50,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:50,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:50,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [11951676] [2022-04-28 12:02:50,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:50,857 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:02:50,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:50,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:02:50,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:50,876 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:50,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:50,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:50,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:02:50,877 INFO L87 Difference]: Start difference. First operand 50 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:02:51,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,159 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-28 12:02:51,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:02:51,159 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:02:51,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:51,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:02:51,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:51,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:02:51,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:02:51,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:02:51,208 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:51,210 INFO L225 Difference]: With dead ends: 75 [2022-04-28 12:02:51,210 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:02:51,210 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:02:51,211 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:51,211 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:02:51,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:02:51,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:02:51,245 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:51,245 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:02:51,245 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:02:51,246 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:02:51,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,248 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:02:51,248 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:02:51,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:51,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:51,249 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 12:02:51,249 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 12:02:51,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,252 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:02:51,252 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:02:51,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:51,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:51,252 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:51,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:51,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:02:51,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-28 12:02:51,259 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-28 12:02:51,259 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:51,259 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-28 12:02:51,260 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:02:51,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-28 12:02:51,354 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-28 12:02:51,355 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:02:51,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:02:51,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:51,355 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 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-28 12:02:51,372 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-28 12:02:51,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:51,564 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:51,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:51,564 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-28 12:02:51,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:51,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1491005323] [2022-04-28 12:02:51,565 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:51,565 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-28 12:02:51,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:51,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [933745246] [2022-04-28 12:02:51,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:51,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:51,575 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:51,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1815443188] [2022-04-28 12:02:51,576 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:51,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:51,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:51,577 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-28 12:02:51,578 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-28 12:02:51,618 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:51,618 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:51,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:02:51,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:51,631 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:51,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-28 12:02:51,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {1936#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);~counter~0 := 0; {1936#true} is VALID [2022-04-28 12:02:51,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-28 12:02:51,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {1936#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {1936#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L272 TraceCheckUtils]: 11: Hoare triple {1936#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:02:51,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {1936#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 10);havoc #t~post6; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L272 TraceCheckUtils]: 19: Hoare triple {1936#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-28 12:02:51,729 INFO L272 TraceCheckUtils]: 24: Hoare triple {1936#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L272 TraceCheckUtils]: 29: Hoare triple {1936#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:02:51,730 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-28 12:02:51,731 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:02:51,732 INFO L272 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:51,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:51,733 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-28 12:02:51,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-28 12:02:51,733 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:02:51,733 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:02:51,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:51,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [933745246] [2022-04-28 12:02:51,734 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:51,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1815443188] [2022-04-28 12:02:51,734 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1815443188] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:51,734 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:51,734 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:51,734 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:51,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1491005323] [2022-04-28 12:02:51,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1491005323] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:51,735 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:51,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:51,735 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1292937042] [2022-04-28 12:02:51,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:51,735 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-28 12:02:51,736 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:51,736 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 12:02:51,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:51,757 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:51,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:51,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:51,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:02:51,758 INFO L87 Difference]: Start difference. First operand 71 states and 100 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 12:02:51,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,922 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-28 12:02:51,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:02:51,922 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-28 12:02:51,923 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:51,923 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 12:02:51,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:02:51,924 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 12:02:51,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:02:51,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 12:02:51,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:51,967 INFO L225 Difference]: With dead ends: 87 [2022-04-28 12:02:51,968 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 12:02:51,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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-28 12:02:51,968 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:51,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:02:51,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 12:02:51,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-28 12:02:51,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:51,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:51,988 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:51,988 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:51,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,991 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:02:51,991 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:02:51,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:51,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:51,992 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-28 12:02:51,992 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-28 12:02:51,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:51,995 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:02:51,995 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:02:51,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:51,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:51,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:51,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:51,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:51,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-28 12:02:51,998 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-28 12:02:51,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:51,998 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-28 12:02:51,999 INFO L496 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 12:02:51,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-28 12:02:52,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:52,102 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-28 12:02:52,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:02:52,102 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:52,103 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 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, 1] [2022-04-28 12:02:52,127 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:02:52,303 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:52,303 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:52,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:52,304 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-28 12:02:52,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:52,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [567625767] [2022-04-28 12:02:52,304 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:52,304 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-28 12:02:52,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:52,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1783314316] [2022-04-28 12:02:52,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:52,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:52,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:52,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1862295517] [2022-04-28 12:02:52,318 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:52,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:52,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:52,320 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-28 12:02:52,321 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-28 12:02:52,360 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:52,360 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:52,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:02:52,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:52,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:52,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:02:52,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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);~counter~0 := 0; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,515 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,517 INFO L272 TraceCheckUtils]: 11: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,518 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {2567#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:02:52,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {2567#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,519 INFO L272 TraceCheckUtils]: 19: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,521 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,523 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,525 INFO L272 TraceCheckUtils]: 24: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,529 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,532 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,534 INFO L272 TraceCheckUtils]: 29: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,540 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#(<= ~counter~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; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:02:52,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2674#(<= |main_#t~post6| 1)} is VALID [2022-04-28 12:02:52,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 10);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:02:52,541 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-28 12:02:52,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:02:52,541 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:02:52,541 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:02:52,542 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:02:52,542 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:02:52,748 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:02:52,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:02:52,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:02:52,749 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-28 12:02:52,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:02:52,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:02:52,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 10)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 10)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,764 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 10)} #72#return; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,764 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:02:52,764 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:02:52,764 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:02:52,765 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 10)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:02:52,765 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 10)} #70#return; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,765 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:02:52,765 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:02:52,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:02:52,765 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 10)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:02:52,766 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 10)} #68#return; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:02:52,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:02:52,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:02:52,766 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 10)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:02:52,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,767 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 10)} is VALID [2022-04-28 12:02:52,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 9)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,767 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 9)} #66#return; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 9)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 9)} #64#return; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:02:52,768 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 9)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:02:52,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 9)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 9)} call #t~ret7 := main(); {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 9)} {2559#true} #82#return; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 9)} assume true; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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);~counter~0 := 0; {2764#(< ~counter~0 9)} is VALID [2022-04-28 12:02:52,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:02:52,772 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:02:52,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:52,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1783314316] [2022-04-28 12:02:52,772 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:52,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1862295517] [2022-04-28 12:02:52,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1862295517] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:02:52,772 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:02:52,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:02:52,773 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:52,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [567625767] [2022-04-28 12:02:52,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [567625767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:52,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:52,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:52,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136181604] [2022-04-28 12:02:52,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:52,773 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-28 12:02:52,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:52,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:02:52,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:52,792 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:52,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:52,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:52,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:02:52,792 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:02:52,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:52,955 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-28 12:02:52,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:02:52,956 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-28 12:02:52,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:52,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:02:52,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:02:52,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:02:52,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:02:52,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-28 12:02:53,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:53,019 INFO L225 Difference]: With dead ends: 121 [2022-04-28 12:02:53,019 INFO L226 Difference]: Without dead ends: 102 [2022-04-28 12:02:53,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:02:53,020 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:53,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:02:53,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-28 12:02:53,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-28 12:02:53,073 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:53,073 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:53,073 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:53,074 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:53,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:53,077 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:02:53,077 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:02:53,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:53,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:53,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-28 12:02:53,078 INFO L87 Difference]: Start difference. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-28 12:02:53,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:53,081 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:02:53,081 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:02:53,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:53,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:53,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:53,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:53,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 12:02:53,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-28 12:02:53,084 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-28 12:02:53,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:53,085 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-28 12:02:53,085 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:02:53,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-28 12:02:53,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:53,201 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 12:02:53,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:02:53,201 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:53,201 INFO L195 NwaCegarLoop]: trace histogram [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-28 12:02:53,223 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 12:02:53,402 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:53,404 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:53,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:53,405 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-28 12:02:53,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:53,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1732389053] [2022-04-28 12:02:53,405 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:53,405 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-28 12:02:53,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:53,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [325549570] [2022-04-28 12:02:53,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:53,406 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:53,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:53,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [411708926] [2022-04-28 12:02:53,425 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:53,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:53,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:53,426 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-28 12:02:53,427 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-28 12:02:53,464 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:53,464 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:53,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:02:53,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:53,477 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:54,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-28 12:02:54,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {3466#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);~counter~0 := 0; {3466#true} is VALID [2022-04-28 12:02:54,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-28 12:02:54,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {3466#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {3466#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L272 TraceCheckUtils]: 11: Hoare triple {3466#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,660 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-28 12:02:54,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {3466#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,662 INFO L272 TraceCheckUtils]: 19: Hoare triple {3519#(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)); {3466#true} is VALID [2022-04-28 12:02:54,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:02:54,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:02:54,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,663 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,663 INFO L272 TraceCheckUtils]: 24: Hoare triple {3519#(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)); {3466#true} is VALID [2022-04-28 12:02:54,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:02:54,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:02:54,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,664 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,664 INFO L272 TraceCheckUtils]: 29: Hoare triple {3519#(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)); {3466#true} is VALID [2022-04-28 12:02:54,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:02:54,664 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:02:54,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:02:54,665 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(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; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:02:54,667 INFO L272 TraceCheckUtils]: 38: Hoare triple {3519#(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)); {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:54,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:54,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-28 12:02:54,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-28 12:02:54,668 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:02:54,668 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:02:54,668 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:02:54,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [325549570] [2022-04-28 12:02:54,668 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:02:54,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411708926] [2022-04-28 12:02:54,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411708926] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:54,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:54,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:54,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:02:54,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1732389053] [2022-04-28 12:02:54,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1732389053] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:02:54,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:02:54,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:02:54,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [160066448] [2022-04-28 12:02:54,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:02:54,669 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-28 12:02:54,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:02:54,670 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:02:54,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:54,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:02:54,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:54,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:02:54,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:02:54,696 INFO L87 Difference]: Start difference. First operand 100 states and 127 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:02:54,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:54,905 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-28 12:02:54,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:02:54,905 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-28 12:02:54,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:02:54,906 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:02:54,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:02:54,907 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:02:54,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:02:54,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-28 12:02:54,955 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-28 12:02:54,957 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:02:54,957 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 12:02:54,957 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 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-28 12:02:54,957 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:02:54,958 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:02:54,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 12:02:55,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 12:02:55,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:02:55,010 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:02:55,010 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:02:55,010 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:02:55,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:55,013 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:02:55,013 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:02:55,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:55,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:55,014 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-28 12:02:55,014 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-28 12:02:55,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:02:55,017 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:02:55,017 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:02:55,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:02:55,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:02:55,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:02:55,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:02:55,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:02:55,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-28 12:02:55,021 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-28 12:02:55,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:02:55,021 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-28 12:02:55,021 INFO L496 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:02:55,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-28 12:02:55,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:02:55,160 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:02:55,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 12:02:55,161 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:02:55,161 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 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, 1, 1] [2022-04-28 12:02:55,178 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 12:02:55,361 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:55,361 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:02:55,362 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:02:55,362 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-28 12:02:55,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:02:55,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2092398860] [2022-04-28 12:02:55,362 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:02:55,362 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-28 12:02:55,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:02:55,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1689229933] [2022-04-28 12:02:55,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:02:55,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:02:55,371 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:02:55,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1278484731] [2022-04-28 12:02:55,371 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:02:55,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:02:55,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:02:55,374 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-28 12:02:55,375 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-28 12:02:55,408 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:02:55,408 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:02:55,409 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:02:55,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:02:55,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:02:55,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:02:55,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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);~counter~0 := 0; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:02:55,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 10);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,529 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:02:55,531 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:02:55,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:55,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:02:55,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:02:55,534 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:02:55,534 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= 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)); {4222#true} is VALID [2022-04-28 12:02:55,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:02:55,534 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:02:55,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,535 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:02:55,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:02:55,535 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= 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)); {4222#true} is VALID [2022-04-28 12:02:55,535 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:02:55,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:02:55,536 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:02:55,536 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:02:55,537 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= 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)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:02:55,537 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:02:55,537 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:02:55,537 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:02:55,538 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:02:55,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:03:12,558 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:03:12,559 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:03:12,559 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:12,560 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= 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)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:03:12,560 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:12,561 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,561 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:12,561 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:12,561 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= 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)); {4222#true} is VALID [2022-04-28 12:03:12,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:12,562 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:12,562 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:12,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:12,562 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= 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)); {4222#true} is VALID [2022-04-28 12:03:12,563 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:12,563 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:12,564 INFO L290 TraceCheckUtils]: 26: Hoare triple {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:12,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:03:12,564 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:03:12,564 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 10);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:03:12,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:12,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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);~counter~0 := 0; {4222#true} is VALID [2022-04-28 12:03:12,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:03:12,567 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:03:12,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:12,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1689229933] [2022-04-28 12:03:12,568 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:12,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278484731] [2022-04-28 12:03:12,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278484731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:03:12,568 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:03:12,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:03:12,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:12,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2092398860] [2022-04-28 12:03:12,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2092398860] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:12,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:12,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:03:12,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [661025916] [2022-04-28 12:03:12,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:12,570 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-28 12:03:12,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:12,571 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:03:12,597 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-28 12:03:12,597 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:03:12,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:12,598 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:03:12,598 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:03:12,598 INFO L87 Difference]: Start difference. First operand 103 states and 128 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:03:13,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:13,149 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-28 12:03:13,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:03:13,149 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-28 12:03:13,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:13,150 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:03:13,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:03:13,151 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:03:13,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:03:13,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-28 12:03:13,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:13,215 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:03:13,215 INFO L226 Difference]: Without dead ends: 106 [2022-04-28 12:03:13,216 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 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-28 12:03:13,216 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:03:13,216 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:03:13,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-28 12:03:13,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-28 12:03:13,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:13,276 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:03:13,276 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:03:13,276 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:03:13,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:13,280 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:03:13,280 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:03:13,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:13,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:13,281 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 12:03:13,281 INFO L87 Difference]: Start difference. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 12:03:13,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:13,285 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:03:13,285 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:03:13,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:13,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:13,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:13,285 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:13,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:03:13,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-28 12:03:13,290 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-28 12:03:13,290 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:13,290 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-28 12:03:13,290 INFO L496 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:03:13,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-28 12:03:13,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:13,445 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 12:03:13,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:03:13,445 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:13,445 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 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-28 12:03:13,475 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-28 12:03:13,646 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:13,646 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:13,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:13,647 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-28 12:03:13,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:13,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1588848907] [2022-04-28 12:03:13,647 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:13,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-28 12:03:13,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:13,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21692018] [2022-04-28 12:03:13,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:13,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:13,671 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:13,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1212498427] [2022-04-28 12:03:13,672 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:03:13,672 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:13,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:13,681 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-28 12:03:13,682 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-28 12:03:13,731 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:03:13,731 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:13,732 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:03:13,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:13,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:14,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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);~counter~0 := 0; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:14,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:03:14,270 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,270 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:03:14,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:03:14,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:03:14,271 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} {5156#true} #66#return; {5208#(<= 1 main_~y~0)} is VALID [2022-04-28 12:03:14,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {5208#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,273 INFO L272 TraceCheckUtils]: 19: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:14,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:14,274 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:14,275 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,275 INFO L272 TraceCheckUtils]: 24: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:14,276 INFO L290 TraceCheckUtils]: 26: Hoare triple {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:14,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:14,277 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #70#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,277 INFO L272 TraceCheckUtils]: 29: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:14,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:14,278 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:14,279 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} #72#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,279 INFO L290 TraceCheckUtils]: 34: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:14,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:03:14,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:03:14,281 INFO L290 TraceCheckUtils]: 37: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 10);havoc #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:03:14,281 INFO L272 TraceCheckUtils]: 38: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:14,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:14,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:14,281 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:14,282 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #68#return; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:03:14,283 INFO L272 TraceCheckUtils]: 43: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:03:14,284 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:14,284 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:03:14,284 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:03:14,285 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:03:14,285 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:03:28,417 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:03:28,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:03:28,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:28,418 INFO L272 TraceCheckUtils]: 43: Hoare triple {5318#(= 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)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:03:28,419 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:28,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:28,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:28,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:28,419 INFO L272 TraceCheckUtils]: 38: Hoare triple {5318#(= 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)); {5156#true} is VALID [2022-04-28 12:03:28,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:28,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:03:30,421 WARN L290 TraceCheckUtils]: 35: Hoare triple {5343#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 12:03:30,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {5343#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {5343#(= (+ 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)))))} is VALID [2022-04-28 12:03:30,423 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5343#(= (+ 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)))))} #72#return; {5343#(= (+ 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)))))} is VALID [2022-04-28 12:03:30,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:30,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:30,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:30,423 INFO L272 TraceCheckUtils]: 29: Hoare triple {5343#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:30,424 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {5343#(= (+ 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)))))} is VALID [2022-04-28 12:03:30,424 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:30,424 INFO L290 TraceCheckUtils]: 26: Hoare triple {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:30,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:03:30,425 INFO L272 TraceCheckUtils]: 24: Hoare triple {5365#(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_~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)); {5156#true} is VALID [2022-04-28 12:03:30,425 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:03:30,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:30,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:30,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:30,426 INFO L272 TraceCheckUtils]: 19: Hoare triple {5365#(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_~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)); {5156#true} is VALID [2022-04-28 12:03:30,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:03:30,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:03:30,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5365#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:03:30,427 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:03:30,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:03:30,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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);~counter~0 := 0; {5156#true} is VALID [2022-04-28 12:03:30,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:03:30,429 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:03:30,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:30,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21692018] [2022-04-28 12:03:30,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:30,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1212498427] [2022-04-28 12:03:30,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1212498427] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:03:30,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:03:30,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 12:03:30,430 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:30,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1588848907] [2022-04-28 12:03:30,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1588848907] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:30,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:30,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:03:30,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1354735709] [2022-04-28 12:03:30,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:30,430 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-28 12:03:30,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:30,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 12:03:30,460 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-28 12:03:30,460 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:03:30,460 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:30,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:03:30,461 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:03:30,461 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 12:03:31,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:31,742 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-28 12:03:31,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:03:31,743 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-28 12:03:31,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:31,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 12:03:31,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-28 12:03:31,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 12:03:31,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-28 12:03:31,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2022-04-28 12:03:31,810 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-28 12:03:31,812 INFO L225 Difference]: With dead ends: 131 [2022-04-28 12:03:31,812 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 12:03:31,813 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:03:31,813 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 34 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:03:31,813 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 170 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:03:31,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 12:03:31,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-28 12:03:31,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:31,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 12:03:31,903 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 12:03:31,904 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 12:03:31,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:31,907 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:03:31,907 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:03:31,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:31,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:31,908 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-28 12:03:31,908 INFO L87 Difference]: Start difference. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-28 12:03:31,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:31,912 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:03:31,912 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:03:31,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:31,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:31,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:31,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:31,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 12:03:31,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-28 12:03:31,918 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-28 12:03:31,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:31,918 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-28 12:03:31,918 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 12:03:31,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-28 12:03:32,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:32,103 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-28 12:03:32,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 12:03:32,104 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:32,104 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:03:32,130 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 12:03:32,315 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:03:32,316 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:32,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:32,316 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-28 12:03:32,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:32,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [736819232] [2022-04-28 12:03:32,317 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:32,317 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-28 12:03:32,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:32,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2103756084] [2022-04-28 12:03:32,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:32,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:32,326 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:32,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [215320347] [2022-04-28 12:03:32,326 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:32,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:32,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:32,328 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-28 12:03:32,329 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-28 12:03:32,371 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:32,371 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:32,372 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:03:32,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:32,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:32,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#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);~counter~0 := 0; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-28 12:03:32,757 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:03:32,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:03:32,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:03:32,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,758 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-28 12:03:32,758 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6280#(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-28 12:03:32,759 INFO L290 TraceCheckUtils]: 17: Hoare triple {6280#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6280#(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-28 12:03:32,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {6280#(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 !!(#t~post6 < 10);havoc #t~post6; {6280#(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-28 12:03:32,759 INFO L272 TraceCheckUtils]: 19: Hoare triple {6280#(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)); {6227#true} is VALID [2022-04-28 12:03:32,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:03:32,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:03:32,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,760 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6280#(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))} #68#return; {6280#(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-28 12:03:32,760 INFO L272 TraceCheckUtils]: 24: Hoare triple {6280#(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)); {6227#true} is VALID [2022-04-28 12:03:32,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:03:32,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:03:32,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,761 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6280#(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))} #70#return; {6280#(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-28 12:03:32,761 INFO L272 TraceCheckUtils]: 29: Hoare triple {6280#(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)); {6227#true} is VALID [2022-04-28 12:03:32,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:32,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:32,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:32,762 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6280#(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))} #72#return; {6280#(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-28 12:03:32,763 INFO L290 TraceCheckUtils]: 34: Hoare triple {6280#(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); {6280#(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-28 12:03:32,763 INFO L290 TraceCheckUtils]: 35: Hoare triple {6280#(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; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:03:32,764 INFO L290 TraceCheckUtils]: 36: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:03:32,764 INFO L290 TraceCheckUtils]: 37: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:03:32,764 INFO L272 TraceCheckUtils]: 38: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:03:32,764 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:03:32,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:03:32,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:03:32,767 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:03:32,767 INFO L272 TraceCheckUtils]: 43: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:03:32,767 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:32,767 INFO L290 TraceCheckUtils]: 45: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:32,768 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:03:32,769 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-28 12:03:32,769 INFO L272 TraceCheckUtils]: 48: Hoare triple {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:03:32,769 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:32,770 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-28 12:03:32,770 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-28 12:03:32,770 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 23 proven. 10 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:03:32,770 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:04:32,543 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-28 12:04:32,544 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-28 12:04:32,545 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:32,545 INFO L272 TraceCheckUtils]: 48: Hoare triple {6401#(= 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)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:32,546 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:04:32,546 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:32,547 INFO L290 TraceCheckUtils]: 45: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:32,547 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:04:32,547 INFO L272 TraceCheckUtils]: 43: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= 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)); {6227#true} is VALID [2022-04-28 12:04:32,548 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,548 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,548 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:04:32,548 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:04:32,548 INFO L272 TraceCheckUtils]: 38: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= 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)); {6227#true} is VALID [2022-04-28 12:04:32,548 INFO L290 TraceCheckUtils]: 37: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,549 INFO L290 TraceCheckUtils]: 36: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,975 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6227#true} #72#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:04:32,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:32,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:04:32,976 INFO L272 TraceCheckUtils]: 29: Hoare triple {6227#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6227#true} #70#return; {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L272 TraceCheckUtils]: 24: Hoare triple {6227#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6227#true} #68#return; {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:04:32,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L272 TraceCheckUtils]: 19: Hoare triple {6227#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 18: Hoare triple {6227#true} assume !!(#t~post6 < 10);havoc #t~post6; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {6227#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:04:32,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#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);~counter~0 := 0; {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-28 12:04:32,978 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:04:32,978 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:04:32,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2103756084] [2022-04-28 12:04:32,978 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:04:32,979 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [215320347] [2022-04-28 12:04:32,979 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [215320347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:04:32,979 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:04:32,979 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 12:04:32,979 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:04:32,979 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [736819232] [2022-04-28 12:04:32,979 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [736819232] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:04:32,979 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:04:32,979 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:04:32,979 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353916843] [2022-04-28 12:04:32,979 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:04:32,980 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-28 12:04:32,980 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:04:32,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:04:33,022 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-28 12:04:33,022 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:04:33,022 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:33,022 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:04:33,022 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:04:33,023 INFO L87 Difference]: Start difference. First operand 124 states and 158 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:04:33,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:33,907 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-28 12:04:33,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:04:33,907 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-28 12:04:33,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:04:33,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:04:33,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:04:33,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:04:33,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:04:33,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-28 12:04:33,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:33,994 INFO L225 Difference]: With dead ends: 160 [2022-04-28 12:04:33,994 INFO L226 Difference]: Without dead ends: 153 [2022-04-28 12:04:33,995 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:04:33,995 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 24 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:04:33,995 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 132 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 231 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:04:33,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-28 12:04:34,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-28 12:04:34,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:04:34,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:34,113 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:34,113 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:34,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:34,116 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:04:34,116 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:04:34,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:34,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:34,116 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-28 12:04:34,117 INFO L87 Difference]: Start difference. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-28 12:04:34,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:34,119 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:04:34,119 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:04:34,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:34,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:34,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:04:34,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:04:34,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:34,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-28 12:04:34,123 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-28 12:04:34,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:04:34,123 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-28 12:04:34,123 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:04:34,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-28 12:04:34,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:34,326 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:04:34,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:04:34,327 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:04:34,327 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:04:34,346 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-28 12:04:34,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:34,528 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:04:34,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:04:34,528 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-28 12:04:34,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:34,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [286390181] [2022-04-28 12:04:34,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:04:34,529 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-28 12:04:34,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:04:34,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [154016182] [2022-04-28 12:04:34,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:04:34,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:04:34,539 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:04:34,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [887532412] [2022-04-28 12:04:34,540 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:04:34,540 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:34,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:04:34,552 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-28 12:04:34,552 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-28 12:04:34,596 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:04:34,597 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:04:34,598 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:04:34,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:04:34,607 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:04:34,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-28 12:04:34,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#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);~counter~0 := 0; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7494#(<= ~counter~0 0)} {7486#true} #82#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {7494#(<= ~counter~0 0)} call #t~ret7 := main(); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {7494#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #64#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,786 INFO L272 TraceCheckUtils]: 11: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,786 INFO L290 TraceCheckUtils]: 12: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,787 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #66#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,787 INFO L290 TraceCheckUtils]: 16: Hoare triple {7494#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:04:34,788 INFO L290 TraceCheckUtils]: 17: Hoare triple {7494#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {7543#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,789 INFO L272 TraceCheckUtils]: 19: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,789 INFO L290 TraceCheckUtils]: 21: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,790 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #68#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,790 INFO L272 TraceCheckUtils]: 24: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #70#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,792 INFO L272 TraceCheckUtils]: 29: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,793 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #72#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {7543#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {7543#(<= ~counter~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; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:04:34,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {7543#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {7601#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,794 INFO L272 TraceCheckUtils]: 38: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,795 INFO L290 TraceCheckUtils]: 41: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,795 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #68#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,796 INFO L272 TraceCheckUtils]: 43: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,796 INFO L290 TraceCheckUtils]: 45: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,797 INFO L290 TraceCheckUtils]: 46: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,797 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #70#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,797 INFO L272 TraceCheckUtils]: 48: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,798 INFO L290 TraceCheckUtils]: 49: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,799 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #72#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {7601#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {7601#(<= ~counter~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; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:04:34,800 INFO L290 TraceCheckUtils]: 55: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7659#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:04:34,800 INFO L290 TraceCheckUtils]: 56: Hoare triple {7659#(<= |main_#t~post6| 2)} assume !(#t~post6 < 10);havoc #t~post6; {7487#false} is VALID [2022-04-28 12:04:34,801 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-28 12:04:34,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-28 12:04:34,801 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-28 12:04:34,801 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-28 12:04:34,801 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 47 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:04:34,801 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:04:35,004 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-28 12:04:35,004 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-28 12:04:35,004 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-28 12:04:35,004 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-28 12:04:35,004 INFO L290 TraceCheckUtils]: 56: Hoare triple {7687#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {7487#false} is VALID [2022-04-28 12:04:35,005 INFO L290 TraceCheckUtils]: 55: Hoare triple {7691#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7687#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:04:35,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {7691#(< ~counter~0 10)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,007 INFO L290 TraceCheckUtils]: 53: Hoare triple {7691#(< ~counter~0 10)} assume !!(~a~0 != ~b~0); {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,007 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7486#true} {7691#(< ~counter~0 10)} #72#return; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,007 INFO L290 TraceCheckUtils]: 51: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,008 INFO L272 TraceCheckUtils]: 48: Hoare triple {7691#(< ~counter~0 10)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,016 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7486#true} {7691#(< ~counter~0 10)} #70#return; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,016 INFO L290 TraceCheckUtils]: 46: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,016 INFO L290 TraceCheckUtils]: 45: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,016 INFO L290 TraceCheckUtils]: 44: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,016 INFO L272 TraceCheckUtils]: 43: Hoare triple {7691#(< ~counter~0 10)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,017 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7486#true} {7691#(< ~counter~0 10)} #68#return; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,017 INFO L272 TraceCheckUtils]: 38: Hoare triple {7691#(< ~counter~0 10)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {7691#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {7749#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7691#(< ~counter~0 10)} is VALID [2022-04-28 12:04:35,018 INFO L290 TraceCheckUtils]: 35: Hoare triple {7749#(< ~counter~0 9)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,018 INFO L290 TraceCheckUtils]: 34: Hoare triple {7749#(< ~counter~0 9)} assume !!(~a~0 != ~b~0); {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,019 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7486#true} {7749#(< ~counter~0 9)} #72#return; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,019 INFO L290 TraceCheckUtils]: 32: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,019 INFO L290 TraceCheckUtils]: 30: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,019 INFO L272 TraceCheckUtils]: 29: Hoare triple {7749#(< ~counter~0 9)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,020 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7486#true} {7749#(< ~counter~0 9)} #70#return; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,020 INFO L290 TraceCheckUtils]: 26: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,020 INFO L272 TraceCheckUtils]: 24: Hoare triple {7749#(< ~counter~0 9)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,021 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7486#true} {7749#(< ~counter~0 9)} #68#return; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,021 INFO L290 TraceCheckUtils]: 22: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,021 INFO L290 TraceCheckUtils]: 21: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,021 INFO L272 TraceCheckUtils]: 19: Hoare triple {7749#(< ~counter~0 9)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {7749#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {7807#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7749#(< ~counter~0 9)} is VALID [2022-04-28 12:04:35,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {7807#(< ~counter~0 8)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,022 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7486#true} {7807#(< ~counter~0 8)} #66#return; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L272 TraceCheckUtils]: 11: Hoare triple {7807#(< ~counter~0 8)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7486#true} {7807#(< ~counter~0 8)} #64#return; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:04:35,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {7807#(< ~counter~0 8)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:04:35,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {7807#(< ~counter~0 8)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {7807#(< ~counter~0 8)} call #t~ret7 := main(); {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7807#(< ~counter~0 8)} {7486#true} #82#return; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {7807#(< ~counter~0 8)} assume true; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#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);~counter~0 := 0; {7807#(< ~counter~0 8)} is VALID [2022-04-28 12:04:35,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-28 12:04:35,035 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 11 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:04:35,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:04:35,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [154016182] [2022-04-28 12:04:35,036 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:04:35,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [887532412] [2022-04-28 12:04:35,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [887532412] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:04:35,036 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:04:35,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:04:35,036 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:04:35,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [286390181] [2022-04-28 12:04:35,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [286390181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:04:35,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:04:35,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:04:35,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282558245] [2022-04-28 12:04:35,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:04:35,037 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:04:35,037 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:04:35,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:04:35,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:35,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:04:35,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:35,069 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:04:35,069 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:04:35,069 INFO L87 Difference]: Start difference. First operand 153 states and 198 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:04:35,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:35,355 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-28 12:04:35,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:04:35,355 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:04:35,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:04:35,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:04:35,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:04:35,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:04:35,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:04:35,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 12:04:35,419 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-28 12:04:35,422 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:04:35,422 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:04:35,422 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:04:35,423 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 8 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:04:35,423 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 136 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:04:35,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:04:35,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 12:04:35,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:04:35,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:35,569 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:35,570 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:35,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:35,574 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:04:35,574 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:04:35,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:35,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:35,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:04:35,576 INFO L87 Difference]: Start difference. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:04:35,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:35,578 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:04:35,579 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:04:35,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:35,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:35,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:04:35,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:04:35,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:04:35,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-28 12:04:35,582 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-28 12:04:35,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:04:35,583 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-28 12:04:35,586 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:04:35,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-28 12:04:35,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:35,791 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:04:35,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:04:35,791 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:04:35,791 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:04:35,808 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-28 12:04:35,992 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:04:35,992 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:04:35,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:04:35,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-28 12:04:35,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:35,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [170234826] [2022-04-28 12:04:35,993 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:04:35,993 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-28 12:04:35,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:04:35,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [100474665] [2022-04-28 12:04:35,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:04:35,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:04:36,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:04:36,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [522736807] [2022-04-28 12:04:36,003 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:04:36,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:36,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:04:36,004 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-28 12:04:36,005 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-28 12:04:36,043 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:04:36,043 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:04:36,044 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:04:36,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:04:36,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:04:36,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {8955#true} call ULTIMATE.init(); {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {8955#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);~counter~0 := 0; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8955#true} {8955#true} #82#return; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {8955#true} call #t~ret7 := main(); {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {8955#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L272 TraceCheckUtils]: 6: Hoare triple {8955#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,338 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8955#true} {8955#true} #64#return; {8955#true} is VALID [2022-04-28 12:04:36,339 INFO L272 TraceCheckUtils]: 11: Hoare triple {8955#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,339 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8955#true} {8955#true} #66#return; {8955#true} is VALID [2022-04-28 12:04:36,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {8955#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,347 INFO L272 TraceCheckUtils]: 19: Hoare triple {9008#(and (= main_~r~0 0) (= 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)); {8955#true} is VALID [2022-04-28 12:04:36,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,347 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8955#true} {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,348 INFO L272 TraceCheckUtils]: 24: Hoare triple {9008#(and (= main_~r~0 0) (= 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)); {8955#true} is VALID [2022-04-28 12:04:36,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,348 INFO L290 TraceCheckUtils]: 26: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,348 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8955#true} {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,348 INFO L272 TraceCheckUtils]: 29: Hoare triple {9008#(and (= main_~r~0 0) (= 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)); {8955#true} is VALID [2022-04-28 12:04:36,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,349 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8955#true} {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {9008#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:36,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {9008#(and (= main_~r~0 0) (= 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; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,351 INFO L272 TraceCheckUtils]: 38: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,351 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,351 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,351 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8955#true} {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #68#return; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,352 INFO L272 TraceCheckUtils]: 43: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L290 TraceCheckUtils]: 46: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8955#true} {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #70#return; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,352 INFO L272 TraceCheckUtils]: 48: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L290 TraceCheckUtils]: 49: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,352 INFO L290 TraceCheckUtils]: 50: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,353 INFO L290 TraceCheckUtils]: 51: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,353 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8955#true} {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #72#return; {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,353 INFO L290 TraceCheckUtils]: 53: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:04:36,354 INFO L290 TraceCheckUtils]: 54: Hoare triple {9066#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:04:36,354 INFO L290 TraceCheckUtils]: 55: Hoare triple {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:04:36,355 INFO L290 TraceCheckUtils]: 56: Hoare triple {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 10);havoc #t~post6; {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:04:36,355 INFO L272 TraceCheckUtils]: 57: Hoare triple {9124#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:36,356 INFO L290 TraceCheckUtils]: 58: Hoare triple {9134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:36,356 INFO L290 TraceCheckUtils]: 59: Hoare triple {9138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8956#false} is VALID [2022-04-28 12:04:36,356 INFO L290 TraceCheckUtils]: 60: Hoare triple {8956#false} assume !false; {8956#false} is VALID [2022-04-28 12:04:36,356 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:04:36,356 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:04:36,553 INFO L290 TraceCheckUtils]: 60: Hoare triple {8956#false} assume !false; {8956#false} is VALID [2022-04-28 12:04:36,553 INFO L290 TraceCheckUtils]: 59: Hoare triple {9138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8956#false} is VALID [2022-04-28 12:04:36,553 INFO L290 TraceCheckUtils]: 58: Hoare triple {9134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:36,554 INFO L272 TraceCheckUtils]: 57: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:36,554 INFO L290 TraceCheckUtils]: 56: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 10);havoc #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,555 INFO L290 TraceCheckUtils]: 55: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~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; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,558 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,558 INFO L290 TraceCheckUtils]: 51: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,558 INFO L290 TraceCheckUtils]: 50: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,558 INFO L272 TraceCheckUtils]: 48: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,560 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 45: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 44: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L272 TraceCheckUtils]: 43: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,562 INFO L272 TraceCheckUtils]: 38: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 10);havoc #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,564 INFO L290 TraceCheckUtils]: 35: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~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; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,565 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,566 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,567 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8955#true} {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,567 INFO L272 TraceCheckUtils]: 19: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 10);havoc #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,568 INFO L290 TraceCheckUtils]: 17: Hoare triple {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {8955#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9154#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:04:36,568 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8955#true} {8955#true} #66#return; {8955#true} is VALID [2022-04-28 12:04:36,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,568 INFO L272 TraceCheckUtils]: 11: Hoare triple {8955#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8955#true} {8955#true} #64#return; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {8955#true} assume !(0 == ~cond); {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {8955#true} ~cond := #in~cond; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {8955#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {8955#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {8955#true} call #t~ret7 := main(); {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8955#true} {8955#true} #82#return; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {8955#true} assume true; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {8955#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);~counter~0 := 0; {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {8955#true} call ULTIMATE.init(); {8955#true} is VALID [2022-04-28 12:04:36,569 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-28 12:04:36,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:04:36,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [100474665] [2022-04-28 12:04:36,570 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:04:36,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [522736807] [2022-04-28 12:04:36,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [522736807] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:04:36,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:04:36,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:04:36,570 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:04:36,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [170234826] [2022-04-28 12:04:36,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [170234826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:04:36,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:04:36,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:04:36,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [552872280] [2022-04-28 12:04:36,571 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:04:36,571 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-28 12:04:36,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:04:36,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:04:36,594 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-28 12:04:36,594 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:04:36,594 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:36,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:04:36,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:04:36,595 INFO L87 Difference]: Start difference. First operand 173 states and 215 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:04:36,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:36,871 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-28 12:04:36,871 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:04:36,872 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-28 12:04:36,872 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:04:36,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:04:36,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:04:36,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:04:36,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:04:36,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-28 12:04:36,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:36,919 INFO L225 Difference]: With dead ends: 179 [2022-04-28 12:04:36,919 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 12:04:36,919 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:04:36,922 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:04:36,922 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:04:36,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 12:04:37,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-28 12:04:37,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:04:37,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:04:37,036 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:04:37,037 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:04:37,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:37,039 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:04:37,039 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:04:37,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:37,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:37,040 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-28 12:04:37,040 INFO L87 Difference]: Start difference. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-28 12:04:37,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:37,055 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:04:37,055 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:04:37,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:37,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:37,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:04:37,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:04:37,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:04:37,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-28 12:04:37,059 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-28 12:04:37,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:04:37,059 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-28 12:04:37,059 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:04:37,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-28 12:04:37,270 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:37,270 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-28 12:04:37,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:04:37,271 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:04:37,271 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:04:37,289 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-28 12:04:37,489 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:04:37,490 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:04:37,490 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:04:37,490 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-28 12:04:37,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:37,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1193242480] [2022-04-28 12:04:37,490 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:04:37,490 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-28 12:04:37,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:04:37,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1238028435] [2022-04-28 12:04:37,491 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:04:37,491 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:04:37,499 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:04:37,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1475208406] [2022-04-28 12:04:37,500 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:04:37,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:37,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:04:37,501 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-28 12:04:37,502 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-28 12:04:37,557 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:04:37,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:04:37,558 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 12:04:37,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:04:37,570 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:04:38,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {10380#true} call ULTIMATE.init(); {10380#true} is VALID [2022-04-28 12:04:38,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {10380#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);~counter~0 := 0; {10380#true} is VALID [2022-04-28 12:04:38,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10380#true} {10380#true} #82#return; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {10380#true} call #t~ret7 := main(); {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {10380#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L272 TraceCheckUtils]: 6: Hoare triple {10380#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10380#true} {10380#true} #64#return; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {10380#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,017 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10380#true} {10380#true} #66#return; {10380#true} is VALID [2022-04-28 12:04:38,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {10380#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10433#(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-28 12:04:38,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {10433#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10433#(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-28 12:04:38,028 INFO L290 TraceCheckUtils]: 18: Hoare triple {10433#(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 !!(#t~post6 < 10);havoc #t~post6; {10433#(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-28 12:04:38,028 INFO L272 TraceCheckUtils]: 19: Hoare triple {10433#(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)); {10380#true} is VALID [2022-04-28 12:04:38,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,029 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10380#true} {10433#(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))} #68#return; {10433#(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-28 12:04:38,029 INFO L272 TraceCheckUtils]: 24: Hoare triple {10433#(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)); {10380#true} is VALID [2022-04-28 12:04:38,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,030 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10380#true} {10433#(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))} #70#return; {10433#(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-28 12:04:38,030 INFO L272 TraceCheckUtils]: 29: Hoare triple {10433#(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)); {10380#true} is VALID [2022-04-28 12:04:38,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,030 INFO L290 TraceCheckUtils]: 32: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,031 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10380#true} {10433#(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))} #72#return; {10433#(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-28 12:04:38,031 INFO L290 TraceCheckUtils]: 34: Hoare triple {10433#(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); {10433#(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-28 12:04:38,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {10433#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,032 INFO L290 TraceCheckUtils]: 36: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,032 INFO L290 TraceCheckUtils]: 37: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,033 INFO L272 TraceCheckUtils]: 38: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:04:38,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,033 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10380#true} {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,033 INFO L272 TraceCheckUtils]: 43: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~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)); {10380#true} is VALID [2022-04-28 12:04:38,034 INFO L290 TraceCheckUtils]: 44: Hoare triple {10380#true} ~cond := #in~cond; {10519#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:38,034 INFO L290 TraceCheckUtils]: 45: Hoare triple {10519#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:38,034 INFO L290 TraceCheckUtils]: 46: Hoare triple {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:38,035 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,035 INFO L272 TraceCheckUtils]: 48: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~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)); {10380#true} is VALID [2022-04-28 12:04:38,035 INFO L290 TraceCheckUtils]: 49: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,035 INFO L290 TraceCheckUtils]: 50: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,035 INFO L290 TraceCheckUtils]: 51: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,035 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10380#true} {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:04:38,036 INFO L290 TraceCheckUtils]: 54: Hoare triple {10491#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ 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; {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:38,037 INFO L290 TraceCheckUtils]: 55: Hoare triple {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:38,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:38,037 INFO L272 TraceCheckUtils]: 57: Hoare triple {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:04:38,037 INFO L290 TraceCheckUtils]: 58: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:04:38,037 INFO L290 TraceCheckUtils]: 59: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:04:38,037 INFO L290 TraceCheckUtils]: 60: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:04:38,038 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10380#true} {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #68#return; {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:38,038 INFO L272 TraceCheckUtils]: 62: Hoare triple {10551#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) 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)); {10576#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:38,039 INFO L290 TraceCheckUtils]: 63: Hoare triple {10576#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10580#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:38,039 INFO L290 TraceCheckUtils]: 64: Hoare triple {10580#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10381#false} is VALID [2022-04-28 12:04:38,039 INFO L290 TraceCheckUtils]: 65: Hoare triple {10381#false} assume !false; {10381#false} is VALID [2022-04-28 12:04:38,040 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 25 proven. 22 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-28 12:04:38,040 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:05:12,486 INFO L290 TraceCheckUtils]: 65: Hoare triple {10381#false} assume !false; {10381#false} is VALID [2022-04-28 12:05:12,487 INFO L290 TraceCheckUtils]: 64: Hoare triple {10580#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10381#false} is VALID [2022-04-28 12:05:12,487 INFO L290 TraceCheckUtils]: 63: Hoare triple {10576#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10580#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:12,488 INFO L272 TraceCheckUtils]: 62: Hoare triple {10596#(= 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)); {10576#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:12,489 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10380#true} {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:12,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:12,489 INFO L290 TraceCheckUtils]: 59: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:12,489 INFO L290 TraceCheckUtils]: 58: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:12,489 INFO L272 TraceCheckUtils]: 57: Hoare triple {10596#(= 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)); {10380#true} is VALID [2022-04-28 12:05:12,490 INFO L290 TraceCheckUtils]: 56: Hoare triple {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:12,490 INFO L290 TraceCheckUtils]: 55: Hoare triple {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:12,713 INFO L290 TraceCheckUtils]: 54: Hoare triple {10621#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10596#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:12,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {10621#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {10621#(= (+ 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)))))} is VALID [2022-04-28 12:05:12,714 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10380#true} {10621#(= (+ 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)))))} #72#return; {10621#(= (+ 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)))))} is VALID [2022-04-28 12:05:12,714 INFO L290 TraceCheckUtils]: 51: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:12,714 INFO L290 TraceCheckUtils]: 50: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:12,714 INFO L290 TraceCheckUtils]: 49: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:12,715 INFO L272 TraceCheckUtils]: 48: Hoare triple {10621#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:12,715 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10621#(= (+ 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)))))} is VALID [2022-04-28 12:05:12,716 INFO L290 TraceCheckUtils]: 46: Hoare triple {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:12,716 INFO L290 TraceCheckUtils]: 45: Hoare triple {10653#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10523#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:12,716 INFO L290 TraceCheckUtils]: 44: Hoare triple {10380#true} ~cond := #in~cond; {10653#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:05:12,716 INFO L272 TraceCheckUtils]: 43: Hoare triple {10643#(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_~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)); {10380#true} is VALID [2022-04-28 12:05:12,717 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10380#true} {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:12,717 INFO L290 TraceCheckUtils]: 41: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:12,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:12,717 INFO L290 TraceCheckUtils]: 39: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:12,717 INFO L272 TraceCheckUtils]: 38: Hoare triple {10643#(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_~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)); {10380#true} is VALID [2022-04-28 12:05:12,718 INFO L290 TraceCheckUtils]: 37: Hoare triple {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:12,718 INFO L290 TraceCheckUtils]: 36: Hoare triple {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:14,721 WARN L290 TraceCheckUtils]: 35: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10643#(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_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is UNKNOWN [2022-04-28 12:05:14,722 INFO L290 TraceCheckUtils]: 34: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} assume !!(~a~0 != ~b~0); {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,722 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10380#true} {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} #72#return; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:14,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:14,723 INFO L272 TraceCheckUtils]: 29: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:14,723 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10380#true} {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} #70#return; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,723 INFO L290 TraceCheckUtils]: 26: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:14,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:14,724 INFO L272 TraceCheckUtils]: 24: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:14,725 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10380#true} {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} #68#return; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,726 INFO L290 TraceCheckUtils]: 21: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:14,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:14,726 INFO L272 TraceCheckUtils]: 19: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:14,727 INFO L290 TraceCheckUtils]: 18: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} assume !!(#t~post6 < 10);havoc #t~post6; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,728 INFO L290 TraceCheckUtils]: 17: Hoare triple {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {10380#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10681#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ 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)))))))} is VALID [2022-04-28 12:05:14,728 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10380#true} {10380#true} #66#return; {10380#true} is VALID [2022-04-28 12:05:14,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:14,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:14,728 INFO L272 TraceCheckUtils]: 11: Hoare triple {10380#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10380#true} {10380#true} #64#return; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {10380#true} assume !(0 == ~cond); {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {10380#true} ~cond := #in~cond; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L272 TraceCheckUtils]: 6: Hoare triple {10380#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {10380#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {10380#true} call #t~ret7 := main(); {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10380#true} {10380#true} #82#return; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {10380#true} assume true; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {10380#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);~counter~0 := 0; {10380#true} is VALID [2022-04-28 12:05:14,729 INFO L272 TraceCheckUtils]: 0: Hoare triple {10380#true} call ULTIMATE.init(); {10380#true} is VALID [2022-04-28 12:05:14,730 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 29 proven. 18 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-28 12:05:14,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:05:14,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1238028435] [2022-04-28 12:05:14,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:05:14,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1475208406] [2022-04-28 12:05:14,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1475208406] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:05:14,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:05:14,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:05:14,730 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:05:14,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1193242480] [2022-04-28 12:05:14,731 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1193242480] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:05:14,731 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:05:14,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:05:14,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496076618] [2022-04-28 12:05:14,731 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:05:14,731 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 12:05:14,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:05:14,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:14,775 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-28 12:05:14,776 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:05:14,776 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:14,776 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:05:14,776 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:05:14,777 INFO L87 Difference]: Start difference. First operand 172 states and 208 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:15,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:15,794 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-28 12:05:15,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:05:15,794 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 12:05:15,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:05:15,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:15,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:05:15,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:15,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:05:15,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:05:15,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:15,898 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:05:15,898 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:05:15,899 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:05:15,900 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 15 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 334 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 334 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:05:15,900 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 192 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 334 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:05:15,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:05:16,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-28 12:05:16,048 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:05:16,049 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:05:16,049 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:05:16,049 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:05:16,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:16,053 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:05:16,053 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:05:16,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:16,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:16,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-28 12:05:16,055 INFO L87 Difference]: Start difference. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-28 12:05:16,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:16,060 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:05:16,060 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:05:16,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:16,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:16,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:05:16,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:05:16,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:05:16,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-28 12:05:16,093 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-28 12:05:16,093 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:05:16,093 INFO L495 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-28 12:05:16,094 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:16,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-28 12:05:16,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:16,353 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-28 12:05:16,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:05:16,353 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:05:16,353 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:05:16,373 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-28 12:05:16,559 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:05:16,559 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:05:16,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:05:16,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-28 12:05:16,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:16,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [175073574] [2022-04-28 12:05:16,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:05:16,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-28 12:05:16,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:05:16,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [902297992] [2022-04-28 12:05:16,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:05:16,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:05:16,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:05:16,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [225384618] [2022-04-28 12:05:16,574 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:05:16,574 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:05:16,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:05:16,575 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:05:16,576 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:05:16,617 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:05:16,618 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:05:16,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:05:16,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:05:16,639 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:05:17,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2022-04-28 12:05:17,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {11947#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);~counter~0 := 0; {11947#true} is VALID [2022-04-28 12:05:17,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #82#return; {11947#true} is VALID [2022-04-28 12:05:17,076 INFO L272 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret7 := main(); {11947#true} is VALID [2022-04-28 12:05:17,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {11947#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L272 TraceCheckUtils]: 6: Hoare triple {11947#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11947#true} {11947#true} #64#return; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L272 TraceCheckUtils]: 11: Hoare triple {11947#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 12: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,077 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11947#true} {11947#true} #66#return; {11947#true} is VALID [2022-04-28 12:05:17,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {11947#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,096 INFO L290 TraceCheckUtils]: 18: Hoare triple {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,096 INFO L272 TraceCheckUtils]: 19: Hoare triple {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {11947#true} is VALID [2022-04-28 12:05:17,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,097 INFO L290 TraceCheckUtils]: 22: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,099 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11947#true} {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,099 INFO L272 TraceCheckUtils]: 24: Hoare triple {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {11947#true} is VALID [2022-04-28 12:05:17,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,100 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11947#true} {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,100 INFO L272 TraceCheckUtils]: 29: Hoare triple {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {11947#true} is VALID [2022-04-28 12:05:17,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {11947#true} ~cond := #in~cond; {12043#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:17,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {12043#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:17,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:17,102 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} {12000#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {12054#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,103 INFO L290 TraceCheckUtils]: 34: Hoare triple {12054#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12054#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {12054#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= 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; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,105 INFO L290 TraceCheckUtils]: 36: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,105 INFO L290 TraceCheckUtils]: 37: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,105 INFO L272 TraceCheckUtils]: 38: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,106 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11947#true} {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,106 INFO L272 TraceCheckUtils]: 43: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,106 INFO L290 TraceCheckUtils]: 46: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,107 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11947#true} {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,107 INFO L272 TraceCheckUtils]: 48: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {11947#true} ~cond := #in~cond; {12043#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:17,108 INFO L290 TraceCheckUtils]: 50: Hoare triple {12043#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:17,108 INFO L290 TraceCheckUtils]: 51: Hoare triple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:17,109 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,109 INFO L290 TraceCheckUtils]: 53: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:17,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {12061#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~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; {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:05:17,111 INFO L290 TraceCheckUtils]: 55: Hoare triple {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:05:17,111 INFO L290 TraceCheckUtils]: 56: Hoare triple {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:05:17,111 INFO L272 TraceCheckUtils]: 57: Hoare triple {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:17,111 INFO L290 TraceCheckUtils]: 58: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:17,111 INFO L290 TraceCheckUtils]: 59: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:17,111 INFO L290 TraceCheckUtils]: 60: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:17,112 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11947#true} {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #68#return; {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:05:17,113 INFO L272 TraceCheckUtils]: 62: Hoare triple {12119#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12144#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:17,113 INFO L290 TraceCheckUtils]: 63: Hoare triple {12144#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12148#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:17,113 INFO L290 TraceCheckUtils]: 64: Hoare triple {12148#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11948#false} is VALID [2022-04-28 12:05:17,113 INFO L290 TraceCheckUtils]: 65: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2022-04-28 12:05:17,114 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-28 12:05:17,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:05:56,879 INFO L290 TraceCheckUtils]: 65: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2022-04-28 12:05:56,879 INFO L290 TraceCheckUtils]: 64: Hoare triple {12148#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11948#false} is VALID [2022-04-28 12:05:56,879 INFO L290 TraceCheckUtils]: 63: Hoare triple {12144#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12148#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:56,880 INFO L272 TraceCheckUtils]: 62: Hoare triple {12164#(= 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)); {12144#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:56,881 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11947#true} {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:56,881 INFO L290 TraceCheckUtils]: 60: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:56,881 INFO L290 TraceCheckUtils]: 59: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:56,881 INFO L290 TraceCheckUtils]: 58: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:56,881 INFO L272 TraceCheckUtils]: 57: Hoare triple {12164#(= 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)); {11947#true} is VALID [2022-04-28 12:05:56,881 INFO L290 TraceCheckUtils]: 56: Hoare triple {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:56,882 INFO L290 TraceCheckUtils]: 55: Hoare triple {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:57,101 INFO L290 TraceCheckUtils]: 54: Hoare triple {12189#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12164#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:05:57,102 INFO L290 TraceCheckUtils]: 53: Hoare triple {12189#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {12189#(= (+ 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)))))} is VALID [2022-04-28 12:05:57,103 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12189#(= (+ 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)))))} is VALID [2022-04-28 12:05:57,103 INFO L290 TraceCheckUtils]: 51: Hoare triple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:57,104 INFO L290 TraceCheckUtils]: 50: Hoare triple {12206#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:57,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {11947#true} ~cond := #in~cond; {12206#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:05:57,104 INFO L272 TraceCheckUtils]: 48: Hoare triple {12196#(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_~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)); {11947#true} is VALID [2022-04-28 12:05:57,105 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11947#true} {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:05:57,105 INFO L290 TraceCheckUtils]: 46: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,105 INFO L290 TraceCheckUtils]: 45: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,105 INFO L290 TraceCheckUtils]: 44: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,105 INFO L272 TraceCheckUtils]: 43: Hoare triple {12196#(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_~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)); {11947#true} is VALID [2022-04-28 12:05:57,106 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11947#true} {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:05:57,106 INFO L290 TraceCheckUtils]: 41: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,106 INFO L290 TraceCheckUtils]: 40: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,106 INFO L290 TraceCheckUtils]: 39: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,106 INFO L272 TraceCheckUtils]: 38: Hoare triple {12196#(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_~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)); {11947#true} is VALID [2022-04-28 12:05:57,107 INFO L290 TraceCheckUtils]: 37: Hoare triple {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:05:57,107 INFO L290 TraceCheckUtils]: 36: Hoare triple {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:05:57,251 INFO L290 TraceCheckUtils]: 35: Hoare triple {12249#(or (not (= (+ (* (+ 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))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12196#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:05:57,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {12249#(or (not (= (+ (* (+ 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))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12249#(or (not (= (+ (* (+ 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))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-28 12:05:57,253 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} {11947#true} #72#return; {12249#(or (not (= (+ (* (+ 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))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-28 12:05:57,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:57,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {12206#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12047#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:57,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {11947#true} ~cond := #in~cond; {12206#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:05:57,254 INFO L272 TraceCheckUtils]: 29: Hoare triple {11947#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11947#true} {11947#true} #70#return; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 27: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 26: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L272 TraceCheckUtils]: 24: Hoare triple {11947#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11947#true} {11947#true} #68#return; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 22: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 21: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L272 TraceCheckUtils]: 19: Hoare triple {11947#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {11947#true} assume !!(#t~post6 < 10);havoc #t~post6; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {11947#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11947#true} is VALID [2022-04-28 12:05:57,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {11947#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11947#true} {11947#true} #66#return; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L272 TraceCheckUtils]: 11: Hoare triple {11947#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11947#true} {11947#true} #64#return; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {11947#true} assume !(0 == ~cond); {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {11947#true} ~cond := #in~cond; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {11947#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {11947#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret7 := main(); {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #82#return; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2022-04-28 12:05:57,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {11947#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);~counter~0 := 0; {11947#true} is VALID [2022-04-28 12:05:57,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2022-04-28 12:05:57,256 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 43 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-28 12:05:57,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:05:57,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [902297992] [2022-04-28 12:05:57,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:05:57,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [225384618] [2022-04-28 12:05:57,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [225384618] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:05:57,256 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:05:57,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 12:05:57,257 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:05:57,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [175073574] [2022-04-28 12:05:57,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [175073574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:05:57,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:05:57,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:05:57,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [233776998] [2022-04-28 12:05:57,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:05:57,257 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 12:05:57,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:05:57,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:57,301 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-28 12:05:57,301 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:05:57,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:57,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:05:57,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:05:57,302 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:58,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:58,528 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:05:58,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:05:58,528 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 12:05:58,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:05:58,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:58,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:05:58,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:58,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:05:58,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:05:58,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:58,641 INFO L225 Difference]: With dead ends: 208 [2022-04-28 12:05:58,641 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 12:05:58,642 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:05:58,642 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 19 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 353 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 368 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 353 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:05:58,642 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 195 Invalid, 368 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 353 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:05:58,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 12:05:58,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-28 12:05:58,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:05:58,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 12:05:58,808 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 12:05:58,808 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 12:05:58,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:58,812 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:05:58,812 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:05:58,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:58,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:58,813 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-28 12:05:58,813 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-28 12:05:58,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:58,818 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:05:58,818 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:05:58,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:58,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:58,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:05:58,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:05:58,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 12:05:58,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-28 12:05:58,822 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-28 12:05:58,822 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:05:58,822 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-28 12:05:58,823 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:05:58,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-28 12:05:59,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:59,103 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-28 12:05:59,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:05:59,104 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:05:59,104 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:05:59,137 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:05:59,318 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 12:05:59,318 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:05:59,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:05:59,318 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-28 12:05:59,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:59,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [35654881] [2022-04-28 12:05:59,319 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:05:59,319 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-28 12:05:59,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:05:59,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1611095314] [2022-04-28 12:05:59,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:05:59,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:05:59,330 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:05:59,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [814110313] [2022-04-28 12:05:59,330 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:05:59,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:05:59,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:05:59,332 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:05:59,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:05:59,390 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:05:59,390 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:05:59,391 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:05:59,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:05:59,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:05:59,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {13569#true} call ULTIMATE.init(); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {13569#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);~counter~0 := 0; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13569#true} {13569#true} #82#return; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {13569#true} call #t~ret7 := main(); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {13569#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L272 TraceCheckUtils]: 6: Hoare triple {13569#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13569#true} {13569#true} #64#return; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L272 TraceCheckUtils]: 11: Hoare triple {13569#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 12: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,744 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13569#true} {13569#true} #66#return; {13569#true} is VALID [2022-04-28 12:05:59,744 INFO L290 TraceCheckUtils]: 16: Hoare triple {13569#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,745 INFO L272 TraceCheckUtils]: 19: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,745 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13569#true} {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,746 INFO L272 TraceCheckUtils]: 24: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,746 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13569#true} {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,746 INFO L272 TraceCheckUtils]: 29: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,747 INFO L290 TraceCheckUtils]: 31: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,747 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13569#true} {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,747 INFO L290 TraceCheckUtils]: 34: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {13622#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,749 INFO L272 TraceCheckUtils]: 38: Hoare triple {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,749 INFO L290 TraceCheckUtils]: 39: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,749 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13569#true} {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,750 INFO L272 TraceCheckUtils]: 43: Hoare triple {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {13569#true} ~cond := #in~cond; {13708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:59,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {13708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:59,750 INFO L290 TraceCheckUtils]: 46: Hoare triple {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:59,751 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} {13680#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,751 INFO L272 TraceCheckUtils]: 48: Hoare triple {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,751 INFO L290 TraceCheckUtils]: 49: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,751 INFO L290 TraceCheckUtils]: 50: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,751 INFO L290 TraceCheckUtils]: 51: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,752 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13569#true} {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,752 INFO L290 TraceCheckUtils]: 53: Hoare triple {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:05:59,755 INFO L290 TraceCheckUtils]: 54: Hoare triple {13719#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 12:05:59,755 INFO L290 TraceCheckUtils]: 55: Hoare triple {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 12:05:59,756 INFO L290 TraceCheckUtils]: 56: Hoare triple {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 10);havoc #t~post6; {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 12:05:59,756 INFO L272 TraceCheckUtils]: 57: Hoare triple {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,756 INFO L290 TraceCheckUtils]: 58: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,756 INFO L290 TraceCheckUtils]: 59: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,756 INFO L290 TraceCheckUtils]: 60: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,756 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13569#true} {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 12:05:59,757 INFO L272 TraceCheckUtils]: 62: Hoare triple {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:05:59,757 INFO L290 TraceCheckUtils]: 63: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:05:59,757 INFO L290 TraceCheckUtils]: 64: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:05:59,757 INFO L290 TraceCheckUtils]: 65: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:05:59,757 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13569#true} {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 12:05:59,758 INFO L272 TraceCheckUtils]: 67: Hoare triple {13741#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13781#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:59,758 INFO L290 TraceCheckUtils]: 68: Hoare triple {13781#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13785#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:59,759 INFO L290 TraceCheckUtils]: 69: Hoare triple {13785#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13570#false} is VALID [2022-04-28 12:05:59,759 INFO L290 TraceCheckUtils]: 70: Hoare triple {13570#false} assume !false; {13570#false} is VALID [2022-04-28 12:05:59,759 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 27 proven. 27 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 12:05:59,759 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:14,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {13570#false} assume !false; {13570#false} is VALID [2022-04-28 12:06:14,290 INFO L290 TraceCheckUtils]: 69: Hoare triple {13785#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13570#false} is VALID [2022-04-28 12:06:14,290 INFO L290 TraceCheckUtils]: 68: Hoare triple {13781#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13785#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:14,291 INFO L272 TraceCheckUtils]: 67: Hoare triple {13801#(= 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)); {13781#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:14,291 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13569#true} {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,291 INFO L290 TraceCheckUtils]: 64: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,291 INFO L290 TraceCheckUtils]: 63: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,291 INFO L272 TraceCheckUtils]: 62: Hoare triple {13801#(= 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)); {13569#true} is VALID [2022-04-28 12:06:14,292 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13569#true} {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,292 INFO L290 TraceCheckUtils]: 60: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,292 INFO L290 TraceCheckUtils]: 59: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,292 INFO L290 TraceCheckUtils]: 58: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,292 INFO L272 TraceCheckUtils]: 57: Hoare triple {13801#(= 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)); {13569#true} is VALID [2022-04-28 12:06:14,293 INFO L290 TraceCheckUtils]: 56: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,293 INFO L290 TraceCheckUtils]: 55: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,588 INFO L290 TraceCheckUtils]: 54: Hoare triple {13841#(= (+ (* (+ 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; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,589 INFO L290 TraceCheckUtils]: 53: Hoare triple {13841#(= (+ (* (+ 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); {13841#(= (+ (* (+ 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-28 12:06:14,589 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13569#true} {13841#(= (+ (* (+ 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))} #72#return; {13841#(= (+ (* (+ 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-28 12:06:14,589 INFO L290 TraceCheckUtils]: 51: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,589 INFO L290 TraceCheckUtils]: 50: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,590 INFO L290 TraceCheckUtils]: 49: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,590 INFO L272 TraceCheckUtils]: 48: Hoare triple {13841#(= (+ (* (+ 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)); {13569#true} is VALID [2022-04-28 12:06:14,590 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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)))} #70#return; {13841#(= (+ (* (+ 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-28 12:06:14,591 INFO L290 TraceCheckUtils]: 46: Hoare triple {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:14,591 INFO L290 TraceCheckUtils]: 45: Hoare triple {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:14,591 INFO L290 TraceCheckUtils]: 44: Hoare triple {13569#true} ~cond := #in~cond; {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:14,591 INFO L272 TraceCheckUtils]: 43: Hoare triple {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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)); {13569#true} is VALID [2022-04-28 12:06:14,592 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13569#true} {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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)))} #68#return; {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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-28 12:06:14,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,592 INFO L290 TraceCheckUtils]: 40: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,592 INFO L290 TraceCheckUtils]: 39: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,592 INFO L272 TraceCheckUtils]: 38: Hoare triple {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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)); {13569#true} is VALID [2022-04-28 12:06:14,593 INFO L290 TraceCheckUtils]: 37: Hoare triple {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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 !!(#t~post6 < 10);havoc #t~post6; {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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-28 12:06:14,593 INFO L290 TraceCheckUtils]: 36: Hoare triple {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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-28 12:06:14,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13863#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ 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-28 12:06:14,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,595 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13569#true} {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,595 INFO L272 TraceCheckUtils]: 29: Hoare triple {13801#(= 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)); {13569#true} is VALID [2022-04-28 12:06:14,596 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13569#true} {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,596 INFO L290 TraceCheckUtils]: 26: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,596 INFO L272 TraceCheckUtils]: 24: Hoare triple {13801#(= 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)); {13569#true} is VALID [2022-04-28 12:06:14,597 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13569#true} {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,597 INFO L272 TraceCheckUtils]: 19: Hoare triple {13801#(= 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)); {13569#true} is VALID [2022-04-28 12:06:14,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {13569#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13801#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:14,598 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13569#true} {13569#true} #66#return; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 12: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L272 TraceCheckUtils]: 11: Hoare triple {13569#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13569#true} {13569#true} #64#return; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {13569#true} assume !(0 == ~cond); {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {13569#true} ~cond := #in~cond; {13569#true} is VALID [2022-04-28 12:06:14,598 INFO L272 TraceCheckUtils]: 6: Hoare triple {13569#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {13569#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L272 TraceCheckUtils]: 4: Hoare triple {13569#true} call #t~ret7 := main(); {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13569#true} {13569#true} #82#return; {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {13569#true} assume true; {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {13569#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);~counter~0 := 0; {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {13569#true} call ULTIMATE.init(); {13569#true} is VALID [2022-04-28 12:06:14,599 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 31 proven. 18 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:06:14,599 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:14,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1611095314] [2022-04-28 12:06:14,599 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:14,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [814110313] [2022-04-28 12:06:14,600 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [814110313] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:14,600 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:14,600 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 12:06:14,600 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:14,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [35654881] [2022-04-28 12:06:14,600 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [35654881] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:14,600 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:14,600 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:06:14,600 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1977049077] [2022-04-28 12:06:14,600 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:14,601 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-28 12:06:14,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:14,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:06:14,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:14,651 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:06:14,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:14,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:06:14,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:06:14,652 INFO L87 Difference]: Start difference. First operand 190 states and 232 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:06:15,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,478 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-28 12:06:15,478 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:06:15,478 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-28 12:06:15,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:15,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:06:15,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:06:15,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:06:15,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:06:15,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-28 12:06:15,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:15,569 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:06:15,569 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 12:06:15,570 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:06:15,570 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 15 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 300 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:15,570 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 174 Invalid, 300 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:06:15,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 12:06:15,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-28 12:06:15,701 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:15,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:06:15,702 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:06:15,702 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:06:15,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,706 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:06:15,706 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:06:15,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:15,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:15,707 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-28 12:06:15,707 INFO L87 Difference]: Start difference. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-28 12:06:15,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,711 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:06:15,712 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:06:15,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:15,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:15,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:15,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:15,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:06:15,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-28 12:06:15,718 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-28 12:06:15,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:15,718 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-28 12:06:15,718 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:06:15,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-28 12:06:16,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:16,053 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-28 12:06:16,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:06:16,053 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:16,053 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:06:16,073 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:16,254 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:16,254 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:16,254 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:16,254 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-28 12:06:16,254 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:16,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [520650375] [2022-04-28 12:06:16,255 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:16,255 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-28 12:06:16,255 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:16,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47804674] [2022-04-28 12:06:16,255 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:16,255 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:16,263 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:16,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [450279342] [2022-04-28 12:06:16,264 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:06:16,264 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:16,264 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:16,265 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:16,265 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:06:16,308 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:06:16,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:16,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:06:16,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:16,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:16,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {15240#true} call ULTIMATE.init(); {15240#true} is VALID [2022-04-28 12:06:16,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {15240#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);~counter~0 := 0; {15240#true} is VALID [2022-04-28 12:06:16,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15240#true} {15240#true} #82#return; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {15240#true} call #t~ret7 := main(); {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {15240#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {15240#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15240#true} {15240#true} #64#return; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L272 TraceCheckUtils]: 11: Hoare triple {15240#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 12: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,776 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15240#true} {15240#true} #66#return; {15240#true} is VALID [2022-04-28 12:06:16,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {15240#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15293#(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-28 12:06:16,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {15293#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15293#(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-28 12:06:16,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {15293#(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 !!(#t~post6 < 10);havoc #t~post6; {15293#(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-28 12:06:16,778 INFO L272 TraceCheckUtils]: 19: Hoare triple {15293#(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)); {15240#true} is VALID [2022-04-28 12:06:16,778 INFO L290 TraceCheckUtils]: 20: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,778 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15240#true} {15293#(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))} #68#return; {15293#(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-28 12:06:16,778 INFO L272 TraceCheckUtils]: 24: Hoare triple {15293#(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)); {15240#true} is VALID [2022-04-28 12:06:16,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,779 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15240#true} {15293#(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))} #70#return; {15293#(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-28 12:06:16,779 INFO L272 TraceCheckUtils]: 29: Hoare triple {15293#(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)); {15240#true} is VALID [2022-04-28 12:06:16,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {15240#true} ~cond := #in~cond; {15336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:16,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {15336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:16,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:16,781 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} {15293#(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))} #72#return; {15293#(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-28 12:06:16,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {15293#(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); {15293#(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-28 12:06:16,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {15293#(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; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,782 INFO L272 TraceCheckUtils]: 38: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L290 TraceCheckUtils]: 41: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15240#true} {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,783 INFO L272 TraceCheckUtils]: 43: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,783 INFO L290 TraceCheckUtils]: 45: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,784 INFO L290 TraceCheckUtils]: 46: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,784 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15240#true} {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,784 INFO L272 TraceCheckUtils]: 48: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,784 INFO L290 TraceCheckUtils]: 49: Hoare triple {15240#true} ~cond := #in~cond; {15336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:16,785 INFO L290 TraceCheckUtils]: 50: Hoare triple {15336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:16,785 INFO L290 TraceCheckUtils]: 51: Hoare triple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:16,785 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,786 INFO L290 TraceCheckUtils]: 53: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:16,787 INFO L290 TraceCheckUtils]: 54: Hoare triple {15353#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 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; {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:06:16,787 INFO L290 TraceCheckUtils]: 55: Hoare triple {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:06:16,788 INFO L290 TraceCheckUtils]: 56: Hoare triple {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 10);havoc #t~post6; {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:06:16,788 INFO L272 TraceCheckUtils]: 57: Hoare triple {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,788 INFO L290 TraceCheckUtils]: 58: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,788 INFO L290 TraceCheckUtils]: 59: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,788 INFO L290 TraceCheckUtils]: 60: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,788 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15240#true} {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:06:16,789 INFO L272 TraceCheckUtils]: 62: Hoare triple {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:16,789 INFO L290 TraceCheckUtils]: 63: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:16,789 INFO L290 TraceCheckUtils]: 64: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:16,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:16,789 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15240#true} {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:06:16,790 INFO L272 TraceCheckUtils]: 67: Hoare triple {15411#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:16,790 INFO L290 TraceCheckUtils]: 68: Hoare triple {15451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:16,791 INFO L290 TraceCheckUtils]: 69: Hoare triple {15455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15241#false} is VALID [2022-04-28 12:06:16,791 INFO L290 TraceCheckUtils]: 70: Hoare triple {15241#false} assume !false; {15241#false} is VALID [2022-04-28 12:06:16,791 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-28 12:06:16,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:41,793 INFO L290 TraceCheckUtils]: 70: Hoare triple {15241#false} assume !false; {15241#false} is VALID [2022-04-28 12:06:41,794 INFO L290 TraceCheckUtils]: 69: Hoare triple {15455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15241#false} is VALID [2022-04-28 12:06:41,794 INFO L290 TraceCheckUtils]: 68: Hoare triple {15451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:41,795 INFO L272 TraceCheckUtils]: 67: Hoare triple {15471#(= 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)); {15451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:41,795 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15240#true} {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:41,795 INFO L290 TraceCheckUtils]: 65: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:41,795 INFO L290 TraceCheckUtils]: 64: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:41,796 INFO L290 TraceCheckUtils]: 63: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:41,796 INFO L272 TraceCheckUtils]: 62: Hoare triple {15471#(= 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)); {15240#true} is VALID [2022-04-28 12:06:41,801 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15240#true} {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:41,801 INFO L290 TraceCheckUtils]: 60: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:41,801 INFO L290 TraceCheckUtils]: 59: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:41,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:41,801 INFO L272 TraceCheckUtils]: 57: Hoare triple {15471#(= 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)); {15240#true} is VALID [2022-04-28 12:06:41,801 INFO L290 TraceCheckUtils]: 56: Hoare triple {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:41,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:41,926 INFO L290 TraceCheckUtils]: 54: Hoare triple {15511#(= (+ (* (+ 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; {15471#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:06:41,927 INFO L290 TraceCheckUtils]: 53: Hoare triple {15511#(= (+ (* (+ 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); {15511#(= (+ (* (+ 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-28 12:06:41,928 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)))} #72#return; {15511#(= (+ (* (+ 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-28 12:06:41,928 INFO L290 TraceCheckUtils]: 51: Hoare triple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:41,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {15528#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:41,928 INFO L290 TraceCheckUtils]: 49: Hoare triple {15240#true} ~cond := #in~cond; {15528#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:41,929 INFO L272 TraceCheckUtils]: 48: Hoare triple {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)); {15240#true} is VALID [2022-04-28 12:06:41,929 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15240#true} {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)))} #70#return; {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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-28 12:06:41,929 INFO L290 TraceCheckUtils]: 46: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:41,929 INFO L290 TraceCheckUtils]: 45: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:41,929 INFO L290 TraceCheckUtils]: 44: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:41,929 INFO L272 TraceCheckUtils]: 43: Hoare triple {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)); {15240#true} is VALID [2022-04-28 12:06:41,930 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15240#true} {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)))} #68#return; {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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-28 12:06:41,930 INFO L290 TraceCheckUtils]: 41: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:41,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:41,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:41,930 INFO L272 TraceCheckUtils]: 38: Hoare triple {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)); {15240#true} is VALID [2022-04-28 12:06:41,931 INFO L290 TraceCheckUtils]: 37: Hoare triple {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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 !!(#t~post6 < 10);havoc #t~post6; {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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-28 12:06:41,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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-28 12:06:42,115 INFO L290 TraceCheckUtils]: 35: Hoare triple {15571#(or (not (= (+ (* (+ 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))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15518#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ 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-28 12:06:42,116 INFO L290 TraceCheckUtils]: 34: Hoare triple {15571#(or (not (= (+ (* (+ 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))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15571#(or (not (= (+ (* (+ 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))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 12:06:42,117 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} {15240#true} #72#return; {15571#(or (not (= (+ (* (+ 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))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 12:06:42,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:42,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {15528#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:42,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {15240#true} ~cond := #in~cond; {15528#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:42,118 INFO L272 TraceCheckUtils]: 29: Hoare triple {15240#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15240#true} {15240#true} #70#return; {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L290 TraceCheckUtils]: 27: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L272 TraceCheckUtils]: 24: Hoare triple {15240#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:42,118 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15240#true} {15240#true} #68#return; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 21: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L272 TraceCheckUtils]: 19: Hoare triple {15240#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {15240#true} assume !!(#t~post6 < 10);havoc #t~post6; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {15240#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {15240#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15240#true} {15240#true} #66#return; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:42,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L272 TraceCheckUtils]: 11: Hoare triple {15240#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15240#true} {15240#true} #64#return; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {15240#true} assume !(0 == ~cond); {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {15240#true} ~cond := #in~cond; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {15240#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {15240#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {15240#true} call #t~ret7 := main(); {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15240#true} {15240#true} #82#return; {15240#true} is VALID [2022-04-28 12:06:42,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {15240#true} assume true; {15240#true} is VALID [2022-04-28 12:06:42,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {15240#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);~counter~0 := 0; {15240#true} is VALID [2022-04-28 12:06:42,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {15240#true} call ULTIMATE.init(); {15240#true} is VALID [2022-04-28 12:06:42,121 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 42 proven. 27 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-28 12:06:42,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:42,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [47804674] [2022-04-28 12:06:42,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:42,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450279342] [2022-04-28 12:06:42,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450279342] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:42,122 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:42,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:06:42,122 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:42,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [520650375] [2022-04-28 12:06:42,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [520650375] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:42,122 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:42,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:06:42,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1899939290] [2022-04-28 12:06:42,123 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:42,123 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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 71 [2022-04-28 12:06:42,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:42,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-28 12:06:42,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:42,177 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:06:42,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:42,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:06:42,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:06:42,177 INFO L87 Difference]: Start difference. First operand 192 states and 236 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-28 12:06:43,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:43,186 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-28 12:06:43,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:06:43,186 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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 71 [2022-04-28 12:06:43,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:43,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-28 12:06:43,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:43,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-28 12:06:43,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:43,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:06:43,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:43,283 INFO L225 Difference]: With dead ends: 219 [2022-04-28 12:06:43,283 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 12:06:43,283 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:06:43,283 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 15 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:43,284 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 185 Invalid, 330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:06:43,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 12:06:43,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-28 12:06:43,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:43,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:06:43,437 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:06:43,437 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:06:43,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:43,441 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:06:43,441 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:06:43,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:43,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:43,442 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:06:43,442 INFO L87 Difference]: Start difference. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:06:43,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:43,449 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:06:43,449 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:06:43,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:43,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:43,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:43,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:43,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:06:43,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-28 12:06:43,454 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-28 12:06:43,454 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:43,454 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-28 12:06:43,454 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-28 12:06:43,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-28 12:06:43,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:43,803 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-28 12:06:43,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:06:43,803 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:43,803 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:06:43,821 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:44,015 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 12:06:44,016 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:44,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:44,016 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-28 12:06:44,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:44,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1471164301] [2022-04-28 12:06:44,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:44,020 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-28 12:06:44,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:44,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318935533] [2022-04-28 12:06:44,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:44,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:44,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:44,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [348914279] [2022-04-28 12:06:44,029 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:06:44,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:44,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:44,030 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:44,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 12:06:44,086 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:06:44,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:44,087 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:06:44,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:44,102 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:44,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {16957#true} call ULTIMATE.init(); {16957#true} is VALID [2022-04-28 12:06:44,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {16957#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);~counter~0 := 0; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {16965#(<= ~counter~0 0)} assume true; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16965#(<= ~counter~0 0)} {16957#true} #82#return; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {16965#(<= ~counter~0 0)} call #t~ret7 := main(); {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {16965#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {16965#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {16965#(<= ~counter~0 0)} ~cond := #in~cond; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,388 INFO L290 TraceCheckUtils]: 8: Hoare triple {16965#(<= ~counter~0 0)} assume !(0 == ~cond); {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {16965#(<= ~counter~0 0)} assume true; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,388 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16965#(<= ~counter~0 0)} {16965#(<= ~counter~0 0)} #64#return; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,389 INFO L272 TraceCheckUtils]: 11: Hoare triple {16965#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,389 INFO L290 TraceCheckUtils]: 12: Hoare triple {16965#(<= ~counter~0 0)} ~cond := #in~cond; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {16965#(<= ~counter~0 0)} assume !(0 == ~cond); {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {16965#(<= ~counter~0 0)} assume true; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,390 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16965#(<= ~counter~0 0)} {16965#(<= ~counter~0 0)} #66#return; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {16965#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16965#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:44,391 INFO L290 TraceCheckUtils]: 17: Hoare triple {16965#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,391 INFO L290 TraceCheckUtils]: 18: Hoare triple {17014#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,391 INFO L272 TraceCheckUtils]: 19: Hoare triple {17014#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {17014#(<= ~counter~0 1)} ~cond := #in~cond; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,392 INFO L290 TraceCheckUtils]: 21: Hoare triple {17014#(<= ~counter~0 1)} assume !(0 == ~cond); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,392 INFO L290 TraceCheckUtils]: 22: Hoare triple {17014#(<= ~counter~0 1)} assume true; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,393 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17014#(<= ~counter~0 1)} {17014#(<= ~counter~0 1)} #68#return; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,393 INFO L272 TraceCheckUtils]: 24: Hoare triple {17014#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {17014#(<= ~counter~0 1)} ~cond := #in~cond; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,394 INFO L290 TraceCheckUtils]: 26: Hoare triple {17014#(<= ~counter~0 1)} assume !(0 == ~cond); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {17014#(<= ~counter~0 1)} assume true; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,394 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17014#(<= ~counter~0 1)} {17014#(<= ~counter~0 1)} #70#return; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,395 INFO L272 TraceCheckUtils]: 29: Hoare triple {17014#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,395 INFO L290 TraceCheckUtils]: 30: Hoare triple {17014#(<= ~counter~0 1)} ~cond := #in~cond; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,395 INFO L290 TraceCheckUtils]: 31: Hoare triple {17014#(<= ~counter~0 1)} assume !(0 == ~cond); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,395 INFO L290 TraceCheckUtils]: 32: Hoare triple {17014#(<= ~counter~0 1)} assume true; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,396 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17014#(<= ~counter~0 1)} {17014#(<= ~counter~0 1)} #72#return; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,396 INFO L290 TraceCheckUtils]: 34: Hoare triple {17014#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,396 INFO L290 TraceCheckUtils]: 35: Hoare triple {17014#(<= ~counter~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; {17014#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:44,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {17014#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {17072#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,398 INFO L272 TraceCheckUtils]: 38: Hoare triple {17072#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,398 INFO L290 TraceCheckUtils]: 39: Hoare triple {17072#(<= ~counter~0 2)} ~cond := #in~cond; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,398 INFO L290 TraceCheckUtils]: 40: Hoare triple {17072#(<= ~counter~0 2)} assume !(0 == ~cond); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,398 INFO L290 TraceCheckUtils]: 41: Hoare triple {17072#(<= ~counter~0 2)} assume true; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,399 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17072#(<= ~counter~0 2)} {17072#(<= ~counter~0 2)} #68#return; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,399 INFO L272 TraceCheckUtils]: 43: Hoare triple {17072#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,400 INFO L290 TraceCheckUtils]: 44: Hoare triple {17072#(<= ~counter~0 2)} ~cond := #in~cond; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,400 INFO L290 TraceCheckUtils]: 45: Hoare triple {17072#(<= ~counter~0 2)} assume !(0 == ~cond); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,400 INFO L290 TraceCheckUtils]: 46: Hoare triple {17072#(<= ~counter~0 2)} assume true; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,401 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17072#(<= ~counter~0 2)} {17072#(<= ~counter~0 2)} #70#return; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,401 INFO L272 TraceCheckUtils]: 48: Hoare triple {17072#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,401 INFO L290 TraceCheckUtils]: 49: Hoare triple {17072#(<= ~counter~0 2)} ~cond := #in~cond; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,401 INFO L290 TraceCheckUtils]: 50: Hoare triple {17072#(<= ~counter~0 2)} assume !(0 == ~cond); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,402 INFO L290 TraceCheckUtils]: 51: Hoare triple {17072#(<= ~counter~0 2)} assume true; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,402 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17072#(<= ~counter~0 2)} {17072#(<= ~counter~0 2)} #72#return; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,402 INFO L290 TraceCheckUtils]: 53: Hoare triple {17072#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,403 INFO L290 TraceCheckUtils]: 54: Hoare triple {17072#(<= ~counter~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; {17072#(<= ~counter~0 2)} is VALID [2022-04-28 12:06:44,403 INFO L290 TraceCheckUtils]: 55: Hoare triple {17072#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {17130#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,404 INFO L272 TraceCheckUtils]: 57: Hoare triple {17130#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,404 INFO L290 TraceCheckUtils]: 58: Hoare triple {17130#(<= ~counter~0 3)} ~cond := #in~cond; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,404 INFO L290 TraceCheckUtils]: 59: Hoare triple {17130#(<= ~counter~0 3)} assume !(0 == ~cond); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,405 INFO L290 TraceCheckUtils]: 60: Hoare triple {17130#(<= ~counter~0 3)} assume true; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,405 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17130#(<= ~counter~0 3)} {17130#(<= ~counter~0 3)} #68#return; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,406 INFO L272 TraceCheckUtils]: 62: Hoare triple {17130#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,406 INFO L290 TraceCheckUtils]: 63: Hoare triple {17130#(<= ~counter~0 3)} ~cond := #in~cond; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,406 INFO L290 TraceCheckUtils]: 64: Hoare triple {17130#(<= ~counter~0 3)} assume !(0 == ~cond); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,406 INFO L290 TraceCheckUtils]: 65: Hoare triple {17130#(<= ~counter~0 3)} assume true; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,407 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17130#(<= ~counter~0 3)} {17130#(<= ~counter~0 3)} #70#return; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,407 INFO L272 TraceCheckUtils]: 67: Hoare triple {17130#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,408 INFO L290 TraceCheckUtils]: 68: Hoare triple {17130#(<= ~counter~0 3)} ~cond := #in~cond; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,408 INFO L290 TraceCheckUtils]: 69: Hoare triple {17130#(<= ~counter~0 3)} assume !(0 == ~cond); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,408 INFO L290 TraceCheckUtils]: 70: Hoare triple {17130#(<= ~counter~0 3)} assume true; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,408 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17130#(<= ~counter~0 3)} {17130#(<= ~counter~0 3)} #72#return; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,409 INFO L290 TraceCheckUtils]: 72: Hoare triple {17130#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,409 INFO L290 TraceCheckUtils]: 73: Hoare triple {17130#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17130#(<= ~counter~0 3)} is VALID [2022-04-28 12:06:44,409 INFO L290 TraceCheckUtils]: 74: Hoare triple {17130#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17188#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:06:44,410 INFO L290 TraceCheckUtils]: 75: Hoare triple {17188#(<= |main_#t~post6| 3)} assume !(#t~post6 < 10);havoc #t~post6; {16958#false} is VALID [2022-04-28 12:06:44,410 INFO L272 TraceCheckUtils]: 76: Hoare triple {16958#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16958#false} is VALID [2022-04-28 12:06:44,410 INFO L290 TraceCheckUtils]: 77: Hoare triple {16958#false} ~cond := #in~cond; {16958#false} is VALID [2022-04-28 12:06:44,410 INFO L290 TraceCheckUtils]: 78: Hoare triple {16958#false} assume 0 == ~cond; {16958#false} is VALID [2022-04-28 12:06:44,410 INFO L290 TraceCheckUtils]: 79: Hoare triple {16958#false} assume !false; {16958#false} is VALID [2022-04-28 12:06:44,410 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 135 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 12:06:44,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:44,690 INFO L290 TraceCheckUtils]: 79: Hoare triple {16958#false} assume !false; {16958#false} is VALID [2022-04-28 12:06:44,690 INFO L290 TraceCheckUtils]: 78: Hoare triple {16958#false} assume 0 == ~cond; {16958#false} is VALID [2022-04-28 12:06:44,690 INFO L290 TraceCheckUtils]: 77: Hoare triple {16958#false} ~cond := #in~cond; {16958#false} is VALID [2022-04-28 12:06:44,690 INFO L272 TraceCheckUtils]: 76: Hoare triple {16958#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16958#false} is VALID [2022-04-28 12:06:44,690 INFO L290 TraceCheckUtils]: 75: Hoare triple {17216#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {16958#false} is VALID [2022-04-28 12:06:44,699 INFO L290 TraceCheckUtils]: 74: Hoare triple {17220#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17216#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:06:44,699 INFO L290 TraceCheckUtils]: 73: Hoare triple {17220#(< ~counter~0 10)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,700 INFO L290 TraceCheckUtils]: 72: Hoare triple {17220#(< ~counter~0 10)} assume !!(~a~0 != ~b~0); {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,700 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16957#true} {17220#(< ~counter~0 10)} #72#return; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,700 INFO L290 TraceCheckUtils]: 70: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,700 INFO L290 TraceCheckUtils]: 69: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L290 TraceCheckUtils]: 68: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L272 TraceCheckUtils]: 67: Hoare triple {17220#(< ~counter~0 10)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16957#true} {17220#(< ~counter~0 10)} #70#return; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,701 INFO L290 TraceCheckUtils]: 65: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L290 TraceCheckUtils]: 64: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L290 TraceCheckUtils]: 63: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,701 INFO L272 TraceCheckUtils]: 62: Hoare triple {17220#(< ~counter~0 10)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,702 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16957#true} {17220#(< ~counter~0 10)} #68#return; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,702 INFO L290 TraceCheckUtils]: 59: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,702 INFO L290 TraceCheckUtils]: 58: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,702 INFO L272 TraceCheckUtils]: 57: Hoare triple {17220#(< ~counter~0 10)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,702 INFO L290 TraceCheckUtils]: 56: Hoare triple {17220#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {17278#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17220#(< ~counter~0 10)} is VALID [2022-04-28 12:06:44,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {17278#(< ~counter~0 9)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,704 INFO L290 TraceCheckUtils]: 53: Hoare triple {17278#(< ~counter~0 9)} assume !!(~a~0 != ~b~0); {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,704 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16957#true} {17278#(< ~counter~0 9)} #72#return; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,704 INFO L290 TraceCheckUtils]: 51: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,704 INFO L290 TraceCheckUtils]: 50: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L272 TraceCheckUtils]: 48: Hoare triple {17278#(< ~counter~0 9)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16957#true} {17278#(< ~counter~0 9)} #70#return; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,705 INFO L290 TraceCheckUtils]: 46: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L290 TraceCheckUtils]: 45: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,705 INFO L272 TraceCheckUtils]: 43: Hoare triple {17278#(< ~counter~0 9)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,706 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16957#true} {17278#(< ~counter~0 9)} #68#return; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,706 INFO L290 TraceCheckUtils]: 41: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,706 INFO L290 TraceCheckUtils]: 40: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,706 INFO L290 TraceCheckUtils]: 39: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,706 INFO L272 TraceCheckUtils]: 38: Hoare triple {17278#(< ~counter~0 9)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,706 INFO L290 TraceCheckUtils]: 37: Hoare triple {17278#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,707 INFO L290 TraceCheckUtils]: 36: Hoare triple {17336#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17278#(< ~counter~0 9)} is VALID [2022-04-28 12:06:44,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {17336#(< ~counter~0 8)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {17336#(< ~counter~0 8)} assume !!(~a~0 != ~b~0); {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,708 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16957#true} {17336#(< ~counter~0 8)} #72#return; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,708 INFO L272 TraceCheckUtils]: 29: Hoare triple {17336#(< ~counter~0 8)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,709 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16957#true} {17336#(< ~counter~0 8)} #70#return; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,709 INFO L272 TraceCheckUtils]: 24: Hoare triple {17336#(< ~counter~0 8)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,709 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16957#true} {17336#(< ~counter~0 8)} #68#return; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,710 INFO L290 TraceCheckUtils]: 22: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,710 INFO L272 TraceCheckUtils]: 19: Hoare triple {17336#(< ~counter~0 8)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {17336#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {17394#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17336#(< ~counter~0 8)} is VALID [2022-04-28 12:06:44,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {17394#(< ~counter~0 7)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,711 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16957#true} {17394#(< ~counter~0 7)} #66#return; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,711 INFO L290 TraceCheckUtils]: 12: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,711 INFO L272 TraceCheckUtils]: 11: Hoare triple {17394#(< ~counter~0 7)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16957#true} {17394#(< ~counter~0 7)} #64#return; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {16957#true} assume true; {16957#true} is VALID [2022-04-28 12:06:44,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {16957#true} assume !(0 == ~cond); {16957#true} is VALID [2022-04-28 12:06:44,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {16957#true} ~cond := #in~cond; {16957#true} is VALID [2022-04-28 12:06:44,712 INFO L272 TraceCheckUtils]: 6: Hoare triple {17394#(< ~counter~0 7)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16957#true} is VALID [2022-04-28 12:06:44,712 INFO L290 TraceCheckUtils]: 5: Hoare triple {17394#(< ~counter~0 7)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,712 INFO L272 TraceCheckUtils]: 4: Hoare triple {17394#(< ~counter~0 7)} call #t~ret7 := main(); {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17394#(< ~counter~0 7)} {16957#true} #82#return; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {17394#(< ~counter~0 7)} assume true; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {16957#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);~counter~0 := 0; {17394#(< ~counter~0 7)} is VALID [2022-04-28 12:06:44,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {16957#true} call ULTIMATE.init(); {16957#true} is VALID [2022-04-28 12:06:44,714 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 27 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 12:06:44,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:44,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318935533] [2022-04-28 12:06:44,714 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:44,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [348914279] [2022-04-28 12:06:44,714 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [348914279] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:44,714 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:44,714 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:06:44,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:44,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1471164301] [2022-04-28 12:06:44,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1471164301] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:44,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:44,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:06:44,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1791926883] [2022-04-28 12:06:44,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:44,715 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 12:06:44,715 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:44,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:06:44,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:44,755 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:06:44,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:44,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:06:44,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:06:44,756 INFO L87 Difference]: Start difference. First operand 208 states and 260 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:06:45,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:45,158 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-28 12:06:45,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:06:45,158 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 12:06:45,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:45,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:06:45,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:06:45,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:06:45,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:06:45,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 12:06:45,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:45,238 INFO L225 Difference]: With dead ends: 277 [2022-04-28 12:06:45,238 INFO L226 Difference]: Without dead ends: 250 [2022-04-28 12:06:45,239 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:06:45,239 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:45,239 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 163 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:06:45,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-28 12:06:45,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-28 12:06:45,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:45,427 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 12:06:45,427 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 12:06:45,428 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 12:06:45,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:45,432 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:06:45,432 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:06:45,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:45,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:45,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-28 12:06:45,433 INFO L87 Difference]: Start difference. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-28 12:06:45,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:45,437 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:06:45,437 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:06:45,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:45,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:45,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:45,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:45,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 12:06:45,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-28 12:06:45,442 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-28 12:06:45,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:45,442 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-28 12:06:45,442 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:06:45,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-28 12:06:45,820 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:45,820 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-28 12:06:45,821 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:06:45,821 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:45,821 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:06:45,838 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:46,021 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 12:06:46,021 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:46,022 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:46,022 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-28 12:06:46,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:46,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1663797443] [2022-04-28 12:06:46,022 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:46,022 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-28 12:06:46,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:46,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [226017231] [2022-04-28 12:06:46,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:46,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:46,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:46,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1090619428] [2022-04-28 12:06:46,032 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:46,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:46,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:46,033 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:46,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 12:06:46,082 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:46,082 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:46,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:06:46,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:46,101 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:46,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {18966#true} call ULTIMATE.init(); {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {18966#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);~counter~0 := 0; {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18966#true} {18966#true} #82#return; {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {18966#true} call #t~ret7 := main(); {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {18966#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L272 TraceCheckUtils]: 6: Hoare triple {18966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,799 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18966#true} {18966#true} #64#return; {18966#true} is VALID [2022-04-28 12:06:46,799 INFO L272 TraceCheckUtils]: 11: Hoare triple {18966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:46,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {18966#true} ~cond := #in~cond; {19007#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:06:46,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {19007#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19011#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:06:46,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {19011#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19011#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:06:46,800 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19011#(not (= |assume_abort_if_not_#in~cond| 0))} {18966#true} #66#return; {19018#(<= 1 main_~y~0)} is VALID [2022-04-28 12:06:46,800 INFO L290 TraceCheckUtils]: 16: Hoare triple {19018#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,801 INFO L272 TraceCheckUtils]: 19: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18966#true} is VALID [2022-04-28 12:06:46,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,802 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18966#true} {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,802 INFO L272 TraceCheckUtils]: 24: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18966#true} is VALID [2022-04-28 12:06:46,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,803 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18966#true} {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,803 INFO L272 TraceCheckUtils]: 29: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18966#true} is VALID [2022-04-28 12:06:46,803 INFO L290 TraceCheckUtils]: 30: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,803 INFO L290 TraceCheckUtils]: 32: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,804 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18966#true} {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,804 INFO L290 TraceCheckUtils]: 35: Hoare triple {19022#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~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; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,805 INFO L290 TraceCheckUtils]: 36: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,805 INFO L290 TraceCheckUtils]: 37: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,805 INFO L272 TraceCheckUtils]: 38: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:46,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18966#true} {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,806 INFO L272 TraceCheckUtils]: 43: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~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)); {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L290 TraceCheckUtils]: 44: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L290 TraceCheckUtils]: 45: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,806 INFO L290 TraceCheckUtils]: 46: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,807 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18966#true} {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,807 INFO L272 TraceCheckUtils]: 48: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~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)); {18966#true} is VALID [2022-04-28 12:06:46,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,807 INFO L290 TraceCheckUtils]: 50: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,807 INFO L290 TraceCheckUtils]: 51: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,808 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18966#true} {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,808 INFO L290 TraceCheckUtils]: 53: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:06:46,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {19080#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ 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; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,809 INFO L290 TraceCheckUtils]: 55: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,810 INFO L290 TraceCheckUtils]: 56: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 10);havoc #t~post6; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,810 INFO L272 TraceCheckUtils]: 57: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= 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)); {18966#true} is VALID [2022-04-28 12:06:46,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,810 INFO L290 TraceCheckUtils]: 59: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,810 INFO L290 TraceCheckUtils]: 60: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,811 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18966#true} {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,811 INFO L272 TraceCheckUtils]: 62: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= 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)); {18966#true} is VALID [2022-04-28 12:06:46,811 INFO L290 TraceCheckUtils]: 63: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,811 INFO L290 TraceCheckUtils]: 64: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,811 INFO L290 TraceCheckUtils]: 65: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,812 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18966#true} {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,812 INFO L272 TraceCheckUtils]: 67: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= 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)); {18966#true} is VALID [2022-04-28 12:06:46,812 INFO L290 TraceCheckUtils]: 68: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,812 INFO L290 TraceCheckUtils]: 69: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,812 INFO L290 TraceCheckUtils]: 70: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,812 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18966#true} {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,813 INFO L290 TraceCheckUtils]: 72: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:06:46,813 INFO L290 TraceCheckUtils]: 73: Hoare triple {19138#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,814 INFO L290 TraceCheckUtils]: 74: Hoare triple {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,814 INFO L290 TraceCheckUtils]: 75: Hoare triple {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,814 INFO L272 TraceCheckUtils]: 76: Hoare triple {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:46,814 INFO L290 TraceCheckUtils]: 77: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:46,814 INFO L290 TraceCheckUtils]: 78: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:46,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:46,815 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18966#true} {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:46,816 INFO L272 TraceCheckUtils]: 81: Hoare triple {19196#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19221#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:46,816 INFO L290 TraceCheckUtils]: 82: Hoare triple {19221#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19225#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:46,816 INFO L290 TraceCheckUtils]: 83: Hoare triple {19225#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18967#false} is VALID [2022-04-28 12:06:46,816 INFO L290 TraceCheckUtils]: 84: Hoare triple {18967#false} assume !false; {18967#false} is VALID [2022-04-28 12:06:46,817 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 23 proven. 33 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-28 12:06:46,817 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:47,209 INFO L290 TraceCheckUtils]: 84: Hoare triple {18967#false} assume !false; {18967#false} is VALID [2022-04-28 12:06:47,209 INFO L290 TraceCheckUtils]: 83: Hoare triple {19225#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18967#false} is VALID [2022-04-28 12:06:47,210 INFO L290 TraceCheckUtils]: 82: Hoare triple {19221#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19225#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:47,210 INFO L272 TraceCheckUtils]: 81: Hoare triple {19241#(= 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)); {19221#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:47,211 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18966#true} {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:47,211 INFO L290 TraceCheckUtils]: 79: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,211 INFO L290 TraceCheckUtils]: 78: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,211 INFO L290 TraceCheckUtils]: 77: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,211 INFO L272 TraceCheckUtils]: 76: Hoare triple {19241#(= 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)); {18966#true} is VALID [2022-04-28 12:06:47,212 INFO L290 TraceCheckUtils]: 75: Hoare triple {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:47,212 INFO L290 TraceCheckUtils]: 74: Hoare triple {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:47,393 INFO L290 TraceCheckUtils]: 73: Hoare triple {19266#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19241#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:47,393 INFO L290 TraceCheckUtils]: 72: Hoare triple {19266#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,394 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18966#true} {19266#(= (+ 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)))))} #72#return; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,394 INFO L290 TraceCheckUtils]: 70: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,394 INFO L290 TraceCheckUtils]: 69: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,394 INFO L290 TraceCheckUtils]: 68: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,394 INFO L272 TraceCheckUtils]: 67: Hoare triple {19266#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,395 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18966#true} {19266#(= (+ 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)))))} #70#return; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,395 INFO L290 TraceCheckUtils]: 65: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,395 INFO L290 TraceCheckUtils]: 64: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,395 INFO L290 TraceCheckUtils]: 63: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,396 INFO L272 TraceCheckUtils]: 62: Hoare triple {19266#(= (+ 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)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,396 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18966#true} {19266#(= (+ 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)))))} #68#return; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,396 INFO L290 TraceCheckUtils]: 60: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,396 INFO L290 TraceCheckUtils]: 59: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,396 INFO L290 TraceCheckUtils]: 58: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,396 INFO L272 TraceCheckUtils]: 57: Hoare triple {19266#(= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,397 INFO L290 TraceCheckUtils]: 56: Hoare triple {19266#(= (+ 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)))))} assume !!(#t~post6 < 10);havoc #t~post6; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,397 INFO L290 TraceCheckUtils]: 55: Hoare triple {19266#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,606 INFO L290 TraceCheckUtils]: 54: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) 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; {19266#(= (+ 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)))))} is VALID [2022-04-28 12:06:47,607 INFO L290 TraceCheckUtils]: 53: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:47,607 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18966#true} {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:47,607 INFO L290 TraceCheckUtils]: 51: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L290 TraceCheckUtils]: 50: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L290 TraceCheckUtils]: 49: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L272 TraceCheckUtils]: 48: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18966#true} {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:47,608 INFO L290 TraceCheckUtils]: 46: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L290 TraceCheckUtils]: 45: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,609 INFO L272 TraceCheckUtils]: 43: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,609 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18966#true} {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:47,609 INFO L290 TraceCheckUtils]: 41: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:47,609 INFO L290 TraceCheckUtils]: 40: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:47,609 INFO L290 TraceCheckUtils]: 39: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:47,609 INFO L272 TraceCheckUtils]: 38: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:47,610 INFO L290 TraceCheckUtils]: 37: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:47,610 INFO L290 TraceCheckUtils]: 36: Hoare triple {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 12:06:49,612 WARN L290 TraceCheckUtils]: 35: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) 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; {19324#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-28 12:06:49,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,613 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18966#true} {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:49,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:49,613 INFO L272 TraceCheckUtils]: 29: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:49,614 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18966#true} {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,614 INFO L290 TraceCheckUtils]: 27: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:49,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:49,614 INFO L272 TraceCheckUtils]: 24: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:49,615 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18966#true} {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:49,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:49,615 INFO L272 TraceCheckUtils]: 19: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:49,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,616 INFO L290 TraceCheckUtils]: 17: Hoare triple {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,616 INFO L290 TraceCheckUtils]: 16: Hoare triple {18966#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19382#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 12:06:49,616 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18966#true} {18966#true} #66#return; {18966#true} is VALID [2022-04-28 12:06:49,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L272 TraceCheckUtils]: 11: Hoare triple {18966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18966#true} {18966#true} #64#return; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {18966#true} assume !(0 == ~cond); {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {18966#true} ~cond := #in~cond; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {18966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {18966#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {18966#true} call #t~ret7 := main(); {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18966#true} {18966#true} #82#return; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {18966#true} assume true; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {18966#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);~counter~0 := 0; {18966#true} is VALID [2022-04-28 12:06:49,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {18966#true} call ULTIMATE.init(); {18966#true} is VALID [2022-04-28 12:06:49,618 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:06:49,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:49,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [226017231] [2022-04-28 12:06:49,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:49,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1090619428] [2022-04-28 12:06:49,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1090619428] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:49,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:49,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 12:06:49,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:49,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1663797443] [2022-04-28 12:06:49,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1663797443] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:49,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:49,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:06:49,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55745796] [2022-04-28 12:06:49,619 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:49,619 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:06:49,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:49,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:49,667 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:49,668 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:06:49,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:49,668 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:06:49,668 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:06:49,668 INFO L87 Difference]: Start difference. First operand 229 states and 268 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:51,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:51,611 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-28 12:06:51,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:06:51,611 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:06:51,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:51,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:51,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:06:51,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:51,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:06:51,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:06:51,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:51,723 INFO L225 Difference]: With dead ends: 256 [2022-04-28 12:06:51,723 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 12:06:51,724 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:06:51,724 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 25 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 265 SdHoareTripleChecker+Invalid, 455 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 427 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:51,724 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 265 Invalid, 455 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 427 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:06:51,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 12:06:51,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-28 12:06:51,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:51,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:06:51,907 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:06:51,908 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:06:51,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:51,912 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:06:51,912 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:06:51,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:51,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:51,913 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-28 12:06:51,913 INFO L87 Difference]: Start difference. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-28 12:06:51,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:51,917 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:06:51,917 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:06:51,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:51,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:51,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:51,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:51,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:06:51,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-28 12:06:51,922 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-28 12:06:51,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:51,923 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-28 12:06:51,923 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:51,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-28 12:06:52,310 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 280 edges. 280 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:52,311 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-28 12:06:52,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:06:52,312 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:52,312 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:06:52,334 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-28 12:06:52,522 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:52,522 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:52,522 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:52,523 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-28 12:06:52,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:52,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1207597952] [2022-04-28 12:06:52,523 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:52,523 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-28 12:06:52,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:52,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1683652734] [2022-04-28 12:06:52,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:52,523 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:52,532 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:52,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [907993367] [2022-04-28 12:06:52,533 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:52,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:52,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:52,533 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:52,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 12:06:52,631 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:52,631 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:52,632 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:06:52,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:52,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:53,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {20990#true} call ULTIMATE.init(); {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {20990#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);~counter~0 := 0; {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20990#true} {20990#true} #82#return; {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {20990#true} call #t~ret7 := main(); {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {20990#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {20990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20990#true} {20990#true} #64#return; {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L272 TraceCheckUtils]: 11: Hoare triple {20990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20990#true} {20990#true} #66#return; {20990#true} is VALID [2022-04-28 12:06:53,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {20990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21043#(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-28 12:06:53,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {21043#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21043#(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-28 12:06:53,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {21043#(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 !!(#t~post6 < 10);havoc #t~post6; {21043#(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-28 12:06:53,422 INFO L272 TraceCheckUtils]: 19: Hoare triple {21043#(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)); {20990#true} is VALID [2022-04-28 12:06:53,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,423 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20990#true} {21043#(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))} #68#return; {21043#(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-28 12:06:53,423 INFO L272 TraceCheckUtils]: 24: Hoare triple {21043#(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)); {20990#true} is VALID [2022-04-28 12:06:53,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,424 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20990#true} {21043#(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))} #70#return; {21043#(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-28 12:06:53,424 INFO L272 TraceCheckUtils]: 29: Hoare triple {21043#(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)); {20990#true} is VALID [2022-04-28 12:06:53,424 INFO L290 TraceCheckUtils]: 30: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,424 INFO L290 TraceCheckUtils]: 31: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,424 INFO L290 TraceCheckUtils]: 32: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,436 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20990#true} {21043#(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))} #72#return; {21043#(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-28 12:06:53,436 INFO L290 TraceCheckUtils]: 34: Hoare triple {21043#(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); {21043#(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-28 12:06:53,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {21043#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,438 INFO L290 TraceCheckUtils]: 36: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,438 INFO L290 TraceCheckUtils]: 37: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,438 INFO L272 TraceCheckUtils]: 38: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,438 INFO L290 TraceCheckUtils]: 41: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,439 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20990#true} {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,439 INFO L272 TraceCheckUtils]: 43: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,439 INFO L290 TraceCheckUtils]: 44: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,439 INFO L290 TraceCheckUtils]: 45: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,439 INFO L290 TraceCheckUtils]: 46: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,440 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20990#true} {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,440 INFO L272 TraceCheckUtils]: 48: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,440 INFO L290 TraceCheckUtils]: 49: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,440 INFO L290 TraceCheckUtils]: 50: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,440 INFO L290 TraceCheckUtils]: 51: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,441 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20990#true} {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,441 INFO L290 TraceCheckUtils]: 53: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:06:53,442 INFO L290 TraceCheckUtils]: 54: Hoare triple {21101#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,442 INFO L290 TraceCheckUtils]: 55: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,443 INFO L290 TraceCheckUtils]: 56: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 10);havoc #t~post6; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,443 INFO L272 TraceCheckUtils]: 57: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,443 INFO L290 TraceCheckUtils]: 58: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,443 INFO L290 TraceCheckUtils]: 59: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,443 INFO L290 TraceCheckUtils]: 60: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,443 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20990#true} {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,444 INFO L272 TraceCheckUtils]: 62: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,444 INFO L290 TraceCheckUtils]: 63: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,444 INFO L290 TraceCheckUtils]: 64: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,444 INFO L290 TraceCheckUtils]: 65: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,444 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20990#true} {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,444 INFO L272 TraceCheckUtils]: 67: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,444 INFO L290 TraceCheckUtils]: 68: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,445 INFO L290 TraceCheckUtils]: 69: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,445 INFO L290 TraceCheckUtils]: 70: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,445 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20990#true} {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #72#return; {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,446 INFO L290 TraceCheckUtils]: 72: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(~a~0 != ~b~0); {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:06:53,447 INFO L290 TraceCheckUtils]: 73: Hoare triple {21159#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-28 12:06:53,448 INFO L290 TraceCheckUtils]: 74: Hoare triple {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-28 12:06:53,448 INFO L290 TraceCheckUtils]: 75: Hoare triple {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} assume !!(#t~post6 < 10);havoc #t~post6; {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-28 12:06:53,448 INFO L272 TraceCheckUtils]: 76: Hoare triple {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:53,448 INFO L290 TraceCheckUtils]: 77: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:53,448 INFO L290 TraceCheckUtils]: 78: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:53,448 INFO L290 TraceCheckUtils]: 79: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:53,449 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20990#true} {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #68#return; {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-28 12:06:53,449 INFO L272 TraceCheckUtils]: 81: Hoare triple {21217#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21242#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:53,450 INFO L290 TraceCheckUtils]: 82: Hoare triple {21242#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21246#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:53,450 INFO L290 TraceCheckUtils]: 83: Hoare triple {21246#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20991#false} is VALID [2022-04-28 12:06:53,450 INFO L290 TraceCheckUtils]: 84: Hoare triple {20991#false} assume !false; {20991#false} is VALID [2022-04-28 12:06:53,451 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:06:53,451 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:54,017 INFO L290 TraceCheckUtils]: 84: Hoare triple {20991#false} assume !false; {20991#false} is VALID [2022-04-28 12:06:54,018 INFO L290 TraceCheckUtils]: 83: Hoare triple {21246#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20991#false} is VALID [2022-04-28 12:06:54,018 INFO L290 TraceCheckUtils]: 82: Hoare triple {21242#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21246#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:54,019 INFO L272 TraceCheckUtils]: 81: Hoare triple {21262#(= 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)); {21242#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:54,019 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20990#true} {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:54,020 INFO L290 TraceCheckUtils]: 79: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:54,020 INFO L290 TraceCheckUtils]: 78: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:54,020 INFO L290 TraceCheckUtils]: 77: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:54,020 INFO L272 TraceCheckUtils]: 76: Hoare triple {21262#(= 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)); {20990#true} is VALID [2022-04-28 12:06:54,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:54,021 INFO L290 TraceCheckUtils]: 74: Hoare triple {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:56,022 WARN L290 TraceCheckUtils]: 73: Hoare triple {21287#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21262#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 12:06:56,023 INFO L290 TraceCheckUtils]: 72: Hoare triple {21287#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,024 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20990#true} {21287#(= (+ 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)))))} #72#return; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,024 INFO L290 TraceCheckUtils]: 70: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,024 INFO L290 TraceCheckUtils]: 69: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,024 INFO L290 TraceCheckUtils]: 68: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,024 INFO L272 TraceCheckUtils]: 67: Hoare triple {21287#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:56,025 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20990#true} {21287#(= (+ 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)))))} #70#return; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,025 INFO L290 TraceCheckUtils]: 65: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,025 INFO L290 TraceCheckUtils]: 64: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,025 INFO L290 TraceCheckUtils]: 63: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,025 INFO L272 TraceCheckUtils]: 62: Hoare triple {21287#(= (+ 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)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:56,025 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20990#true} {21287#(= (+ 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)))))} #68#return; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,025 INFO L290 TraceCheckUtils]: 60: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,026 INFO L290 TraceCheckUtils]: 59: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,026 INFO L290 TraceCheckUtils]: 58: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,026 INFO L272 TraceCheckUtils]: 57: Hoare triple {21287#(= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:56,026 INFO L290 TraceCheckUtils]: 56: Hoare triple {21287#(= (+ 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)))))} assume !!(#t~post6 < 10);havoc #t~post6; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,026 INFO L290 TraceCheckUtils]: 55: Hoare triple {21287#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,138 INFO L290 TraceCheckUtils]: 54: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) 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; {21287#(= (+ 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)))))} is VALID [2022-04-28 12:06:56,138 INFO L290 TraceCheckUtils]: 53: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:56,139 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20990#true} {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:56,139 INFO L290 TraceCheckUtils]: 51: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,139 INFO L290 TraceCheckUtils]: 50: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,139 INFO L290 TraceCheckUtils]: 49: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,139 INFO L272 TraceCheckUtils]: 48: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~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)); {20990#true} is VALID [2022-04-28 12:06:56,140 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20990#true} {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:56,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,140 INFO L272 TraceCheckUtils]: 43: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~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)); {20990#true} is VALID [2022-04-28 12:06:56,140 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20990#true} {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:56,141 INFO L290 TraceCheckUtils]: 41: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:56,141 INFO L290 TraceCheckUtils]: 40: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:56,141 INFO L290 TraceCheckUtils]: 39: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:56,141 INFO L272 TraceCheckUtils]: 38: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~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)); {20990#true} is VALID [2022-04-28 12:06:56,141 INFO L290 TraceCheckUtils]: 37: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 10);havoc #t~post6; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:56,142 INFO L290 TraceCheckUtils]: 36: Hoare triple {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:57,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* 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; {21345#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:06:57,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,159 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20990#true} {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:57,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:57,159 INFO L272 TraceCheckUtils]: 29: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:57,160 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20990#true} {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:57,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:57,160 INFO L272 TraceCheckUtils]: 24: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:57,160 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20990#true} {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:57,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:57,161 INFO L272 TraceCheckUtils]: 19: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:57,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 10);havoc #t~post6; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {20990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21403#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 12:06:57,162 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20990#true} {20990#true} #66#return; {20990#true} is VALID [2022-04-28 12:06:57,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 12: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L272 TraceCheckUtils]: 11: Hoare triple {20990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20990#true} {20990#true} #64#return; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {20990#true} assume !(0 == ~cond); {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {20990#true} ~cond := #in~cond; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {20990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {20990#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {20990#true} call #t~ret7 := main(); {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20990#true} {20990#true} #82#return; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {20990#true} assume true; {20990#true} is VALID [2022-04-28 12:06:57,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {20990#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);~counter~0 := 0; {20990#true} is VALID [2022-04-28 12:06:57,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {20990#true} call ULTIMATE.init(); {20990#true} is VALID [2022-04-28 12:06:57,164 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:06:57,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:57,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1683652734] [2022-04-28 12:06:57,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:57,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [907993367] [2022-04-28 12:06:57,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [907993367] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:57,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:57,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:06:57,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:57,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1207597952] [2022-04-28 12:06:57,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1207597952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:57,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:57,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:06:57,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2058450929] [2022-04-28 12:06:57,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:57,166 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:06:57,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:57,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:57,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:57,220 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:06:57,220 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:57,220 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:06:57,220 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:06:57,220 INFO L87 Difference]: Start difference. First operand 238 states and 280 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:58,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:58,713 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-28 12:06:58,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:06:58,713 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:06:58,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:58,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:58,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:06:58,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:58,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:06:58,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-28 12:06:58,820 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:58,825 INFO L225 Difference]: With dead ends: 286 [2022-04-28 12:06:58,825 INFO L226 Difference]: Without dead ends: 284 [2022-04-28 12:06:58,826 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:06:58,826 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 289 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 244 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 289 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:58,826 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 244 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 289 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 12:06:58,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-28 12:06:59,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-28 12:06:59,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:59,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 12:06:59,064 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 12:06:59,064 INFO L87 Difference]: Start difference. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 12:06:59,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:59,069 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:06:59,069 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:06:59,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:59,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:59,070 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-28 12:06:59,070 INFO L87 Difference]: Start difference. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-28 12:06:59,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:59,075 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:06:59,075 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:06:59,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:59,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:59,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:59,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:59,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 12:06:59,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-28 12:06:59,081 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-28 12:06:59,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:59,081 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-28 12:06:59,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:06:59,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-28 12:06:59,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:59,577 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-28 12:06:59,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:06:59,578 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:59,578 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:06:59,596 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:59,797 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:59,797 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:59,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:59,797 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-28 12:06:59,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:59,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1953534148] [2022-04-28 12:06:59,798 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:59,798 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-28 12:06:59,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:59,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572114459] [2022-04-28 12:06:59,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:59,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:59,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:59,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [901620004] [2022-04-28 12:06:59,809 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:06:59,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:59,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:59,824 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:59,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 12:06:59,869 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:06:59,869 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:59,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 12:06:59,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:59,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:29,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {23189#true} call ULTIMATE.init(); {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {23189#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);~counter~0 := 0; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23189#true} {23189#true} #82#return; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {23189#true} call #t~ret7 := main(); {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {23189#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L272 TraceCheckUtils]: 6: Hoare triple {23189#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L290 TraceCheckUtils]: 9: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,690 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23189#true} {23189#true} #64#return; {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L272 TraceCheckUtils]: 11: Hoare triple {23189#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L290 TraceCheckUtils]: 12: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L290 TraceCheckUtils]: 14: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23189#true} {23189#true} #66#return; {23189#true} is VALID [2022-04-28 12:07:29,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {23189#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23242#(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))} is VALID [2022-04-28 12:07:29,692 INFO L290 TraceCheckUtils]: 17: Hoare triple {23242#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23242#(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))} is VALID [2022-04-28 12:07:29,692 INFO L290 TraceCheckUtils]: 18: Hoare triple {23242#(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))} assume !!(#t~post6 < 10);havoc #t~post6; {23242#(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))} is VALID [2022-04-28 12:07:29,692 INFO L272 TraceCheckUtils]: 19: Hoare triple {23242#(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))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,692 INFO L290 TraceCheckUtils]: 20: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,692 INFO L290 TraceCheckUtils]: 21: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,693 INFO L290 TraceCheckUtils]: 22: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,693 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23189#true} {23242#(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))} #68#return; {23242#(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))} is VALID [2022-04-28 12:07:29,693 INFO L272 TraceCheckUtils]: 24: Hoare triple {23242#(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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,694 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23189#true} {23242#(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))} #70#return; {23242#(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))} is VALID [2022-04-28 12:07:29,694 INFO L272 TraceCheckUtils]: 29: Hoare triple {23242#(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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,694 INFO L290 TraceCheckUtils]: 30: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,695 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23189#true} {23242#(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))} #72#return; {23242#(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))} is VALID [2022-04-28 12:07:29,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {23242#(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))} assume !!(~a~0 != ~b~0); {23242#(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))} is VALID [2022-04-28 12:07:29,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {23242#(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))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,697 INFO L272 TraceCheckUtils]: 38: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,698 INFO L290 TraceCheckUtils]: 41: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,698 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23189#true} {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #68#return; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,698 INFO L272 TraceCheckUtils]: 43: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,698 INFO L290 TraceCheckUtils]: 45: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,699 INFO L290 TraceCheckUtils]: 46: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,699 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23189#true} {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #70#return; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,699 INFO L272 TraceCheckUtils]: 48: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,699 INFO L290 TraceCheckUtils]: 50: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,700 INFO L290 TraceCheckUtils]: 51: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,700 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23189#true} {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #72#return; {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 12:07:29,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {23300#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,704 INFO L290 TraceCheckUtils]: 56: Hoare triple {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} assume !!(#t~post6 < 10);havoc #t~post6; {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,704 INFO L272 TraceCheckUtils]: 57: Hoare triple {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,704 INFO L290 TraceCheckUtils]: 58: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,704 INFO L290 TraceCheckUtils]: 60: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,705 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23189#true} {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #68#return; {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,705 INFO L272 TraceCheckUtils]: 62: Hoare triple {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,705 INFO L290 TraceCheckUtils]: 63: Hoare triple {23189#true} ~cond := #in~cond; {23386#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:29,706 INFO L290 TraceCheckUtils]: 64: Hoare triple {23386#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:29,706 INFO L290 TraceCheckUtils]: 65: Hoare triple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:29,707 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} {23358#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #70#return; {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,707 INFO L272 TraceCheckUtils]: 67: Hoare triple {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,707 INFO L290 TraceCheckUtils]: 68: Hoare triple {23189#true} ~cond := #in~cond; {23386#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:29,708 INFO L290 TraceCheckUtils]: 69: Hoare triple {23386#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:29,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:29,709 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} #72#return; {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,709 INFO L290 TraceCheckUtils]: 72: Hoare triple {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:07:29,714 INFO L290 TraceCheckUtils]: 73: Hoare triple {23397#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 12:07:29,714 INFO L290 TraceCheckUtils]: 74: Hoare triple {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 12:07:29,715 INFO L290 TraceCheckUtils]: 75: Hoare triple {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} assume !!(#t~post6 < 10);havoc #t~post6; {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 12:07:29,715 INFO L272 TraceCheckUtils]: 76: Hoare triple {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:29,715 INFO L290 TraceCheckUtils]: 77: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:29,715 INFO L290 TraceCheckUtils]: 78: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:29,715 INFO L290 TraceCheckUtils]: 79: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:29,716 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23189#true} {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #68#return; {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 12:07:29,719 INFO L272 TraceCheckUtils]: 81: Hoare triple {23419#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:29,719 INFO L290 TraceCheckUtils]: 82: Hoare triple {23444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:29,719 INFO L290 TraceCheckUtils]: 83: Hoare triple {23448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23190#false} is VALID [2022-04-28 12:07:29,719 INFO L290 TraceCheckUtils]: 84: Hoare triple {23190#false} assume !false; {23190#false} is VALID [2022-04-28 12:07:29,720 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 60 proven. 41 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:07:29,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:55,204 INFO L290 TraceCheckUtils]: 84: Hoare triple {23190#false} assume !false; {23190#false} is VALID [2022-04-28 12:07:55,205 INFO L290 TraceCheckUtils]: 83: Hoare triple {23448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23190#false} is VALID [2022-04-28 12:07:55,205 INFO L290 TraceCheckUtils]: 82: Hoare triple {23444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:55,206 INFO L272 TraceCheckUtils]: 81: Hoare triple {23464#(= 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)); {23444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:55,206 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23189#true} {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:55,206 INFO L290 TraceCheckUtils]: 79: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,206 INFO L290 TraceCheckUtils]: 78: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,206 INFO L290 TraceCheckUtils]: 77: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,207 INFO L272 TraceCheckUtils]: 76: Hoare triple {23464#(= 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)); {23189#true} is VALID [2022-04-28 12:07:55,207 INFO L290 TraceCheckUtils]: 75: Hoare triple {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:55,207 INFO L290 TraceCheckUtils]: 74: Hoare triple {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:55,510 INFO L290 TraceCheckUtils]: 73: Hoare triple {23489#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23464#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:55,511 INFO L290 TraceCheckUtils]: 72: Hoare triple {23489#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {23489#(= (+ 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)))))} is VALID [2022-04-28 12:07:55,511 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} {23496#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23489#(= (+ 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)))))} is VALID [2022-04-28 12:07:55,512 INFO L290 TraceCheckUtils]: 70: Hoare triple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:55,512 INFO L290 TraceCheckUtils]: 69: Hoare triple {23506#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:55,512 INFO L290 TraceCheckUtils]: 68: Hoare triple {23189#true} ~cond := #in~cond; {23506#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:07:55,512 INFO L272 TraceCheckUtils]: 67: Hoare triple {23496#(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_~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)); {23189#true} is VALID [2022-04-28 12:07:55,514 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} {23189#true} #70#return; {23496#(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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:07:55,514 INFO L290 TraceCheckUtils]: 65: Hoare triple {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:55,514 INFO L290 TraceCheckUtils]: 64: Hoare triple {23506#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23390#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:55,514 INFO L290 TraceCheckUtils]: 63: Hoare triple {23189#true} ~cond := #in~cond; {23506#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:07:55,515 INFO L272 TraceCheckUtils]: 62: Hoare triple {23189#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23189#true} {23189#true} #68#return; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 60: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 59: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 58: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L272 TraceCheckUtils]: 57: Hoare triple {23189#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 56: Hoare triple {23189#true} assume !!(#t~post6 < 10);havoc #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 55: Hoare triple {23189#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 54: Hoare triple {23189#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 53: Hoare triple {23189#true} assume !!(~a~0 != ~b~0); {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23189#true} {23189#true} #72#return; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 51: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,515 INFO L290 TraceCheckUtils]: 50: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L272 TraceCheckUtils]: 48: Hoare triple {23189#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23189#true} {23189#true} #70#return; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L272 TraceCheckUtils]: 43: Hoare triple {23189#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23189#true} {23189#true} #68#return; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 41: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 40: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 39: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L272 TraceCheckUtils]: 38: Hoare triple {23189#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {23189#true} assume !!(#t~post6 < 10);havoc #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 36: Hoare triple {23189#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,516 INFO L290 TraceCheckUtils]: 35: Hoare triple {23189#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {23189#true} assume !!(~a~0 != ~b~0); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23189#true} {23189#true} #72#return; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 32: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 30: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L272 TraceCheckUtils]: 29: Hoare triple {23189#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23189#true} {23189#true} #70#return; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L272 TraceCheckUtils]: 24: Hoare triple {23189#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23189#true} {23189#true} #68#return; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 21: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L272 TraceCheckUtils]: 19: Hoare triple {23189#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {23189#true} assume !!(#t~post6 < 10);havoc #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {23189#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {23189#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23189#true} {23189#true} #66#return; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L272 TraceCheckUtils]: 11: Hoare triple {23189#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23189#true} {23189#true} #64#return; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {23189#true} assume !(0 == ~cond); {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {23189#true} ~cond := #in~cond; {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {23189#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23189#true} is VALID [2022-04-28 12:07:55,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {23189#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {23189#true} call #t~ret7 := main(); {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23189#true} {23189#true} #82#return; {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {23189#true} assume true; {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {23189#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);~counter~0 := 0; {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {23189#true} call ULTIMATE.init(); {23189#true} is VALID [2022-04-28 12:07:55,519 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 78 proven. 8 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-28 12:07:55,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:55,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572114459] [2022-04-28 12:07:55,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:55,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [901620004] [2022-04-28 12:07:55,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [901620004] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:55,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:55,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 12:07:55,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:55,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1953534148] [2022-04-28 12:07:55,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1953534148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:55,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:55,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:07:55,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798784098] [2022-04-28 12:07:55,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:55,521 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-28 12:07:55,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:55,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:07:55,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:55,584 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:07:55,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:55,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:07:55,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:07:55,584 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:08:00,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:00,553 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-28 12:08:00,553 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:08:00,554 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-28 12:08:00,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:00,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:08:00,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:08:00,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:08:00,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:08:00,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:08:00,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:00,691 INFO L225 Difference]: With dead ends: 297 [2022-04-28 12:08:00,691 INFO L226 Difference]: Without dead ends: 295 [2022-04-28 12:08:00,692 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 154 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:08:00,692 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 14 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 249 SdHoareTripleChecker+Invalid, 489 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:08:00,692 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 249 Invalid, 489 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 482 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 12:08:00,693 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-28 12:08:00,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-28 12:08:00,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:00,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:08:00,974 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:08:00,974 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:08:00,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:00,981 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:08:00,981 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:08:00,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:00,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:00,982 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-28 12:08:00,982 INFO L87 Difference]: Start difference. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-28 12:08:00,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:00,989 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:08:00,989 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:08:00,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:00,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:00,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:00,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:00,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:08:00,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-28 12:08:00,996 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-28 12:08:00,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:00,997 INFO L495 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-28 12:08:00,997 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:08:00,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-28 12:08:01,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:01,570 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-28 12:08:01,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:08:01,571 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:01,571 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:08:01,595 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 12:08:01,771 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:01,771 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:01,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:01,772 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-28 12:08:01,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:01,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1626389853] [2022-04-28 12:08:01,772 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:01,772 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-28 12:08:01,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:01,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [441794356] [2022-04-28 12:08:01,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:01,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:01,786 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:01,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1597566089] [2022-04-28 12:08:01,786 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:08:01,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:01,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:01,787 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:08:01,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 12:08:01,866 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:08:01,867 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:01,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:08:01,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:01,884 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:02,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {25399#true} call ULTIMATE.init(); {25399#true} is VALID [2022-04-28 12:08:02,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {25399#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);~counter~0 := 0; {25399#true} is VALID [2022-04-28 12:08:02,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,279 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25399#true} {25399#true} #82#return; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {25399#true} call #t~ret7 := main(); {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {25399#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {25399#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25399#true} {25399#true} #64#return; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L272 TraceCheckUtils]: 11: Hoare triple {25399#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L290 TraceCheckUtils]: 14: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,280 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25399#true} {25399#true} #66#return; {25399#true} is VALID [2022-04-28 12:08:02,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {25399#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,281 INFO L290 TraceCheckUtils]: 18: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,281 INFO L272 TraceCheckUtils]: 19: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,282 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,282 INFO L272 TraceCheckUtils]: 24: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {25399#true} ~cond := #in~cond; {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:02,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,284 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,284 INFO L272 TraceCheckUtils]: 29: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,284 INFO L290 TraceCheckUtils]: 30: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,284 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,285 INFO L290 TraceCheckUtils]: 34: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {25452#(and (= main_~r~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; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,285 INFO L290 TraceCheckUtils]: 36: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,286 INFO L290 TraceCheckUtils]: 37: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,286 INFO L272 TraceCheckUtils]: 38: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,286 INFO L290 TraceCheckUtils]: 39: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,286 INFO L290 TraceCheckUtils]: 40: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,286 INFO L290 TraceCheckUtils]: 41: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,287 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,287 INFO L272 TraceCheckUtils]: 43: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,287 INFO L290 TraceCheckUtils]: 44: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,287 INFO L290 TraceCheckUtils]: 45: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,287 INFO L290 TraceCheckUtils]: 46: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,287 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,287 INFO L272 TraceCheckUtils]: 48: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,288 INFO L290 TraceCheckUtils]: 50: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,288 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,289 INFO L290 TraceCheckUtils]: 53: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,289 INFO L290 TraceCheckUtils]: 54: Hoare triple {25452#(and (= main_~r~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; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,290 INFO L272 TraceCheckUtils]: 57: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,291 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,291 INFO L272 TraceCheckUtils]: 62: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,291 INFO L290 TraceCheckUtils]: 63: Hoare triple {25399#true} ~cond := #in~cond; {25399#true} is VALID [2022-04-28 12:08:02,291 INFO L290 TraceCheckUtils]: 64: Hoare triple {25399#true} assume !(0 == ~cond); {25399#true} is VALID [2022-04-28 12:08:02,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {25399#true} assume true; {25399#true} is VALID [2022-04-28 12:08:02,291 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25399#true} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,291 INFO L272 TraceCheckUtils]: 67: Hoare triple {25452#(and (= main_~r~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)); {25399#true} is VALID [2022-04-28 12:08:02,292 INFO L290 TraceCheckUtils]: 68: Hoare triple {25399#true} ~cond := #in~cond; {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:02,292 INFO L290 TraceCheckUtils]: 69: Hoare triple {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,294 INFO L290 TraceCheckUtils]: 70: Hoare triple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,295 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} {25452#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25620#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,296 INFO L290 TraceCheckUtils]: 72: Hoare triple {25620#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25620#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:02,297 INFO L290 TraceCheckUtils]: 73: Hoare triple {25620#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~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; {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:08:02,297 INFO L290 TraceCheckUtils]: 74: Hoare triple {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:08:02,298 INFO L290 TraceCheckUtils]: 75: Hoare triple {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:08:02,298 INFO L272 TraceCheckUtils]: 76: Hoare triple {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25399#true} is VALID [2022-04-28 12:08:02,298 INFO L290 TraceCheckUtils]: 77: Hoare triple {25399#true} ~cond := #in~cond; {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:02,298 INFO L290 TraceCheckUtils]: 78: Hoare triple {25480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,299 INFO L290 TraceCheckUtils]: 79: Hoare triple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:02,306 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25484#(not (= |__VERIFIER_assert_#in~cond| 0))} {25627#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25649#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-28 12:08:02,307 INFO L272 TraceCheckUtils]: 81: Hoare triple {25649#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25653#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:02,307 INFO L290 TraceCheckUtils]: 82: Hoare triple {25653#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25657#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:02,308 INFO L290 TraceCheckUtils]: 83: Hoare triple {25657#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25400#false} is VALID [2022-04-28 12:08:02,308 INFO L290 TraceCheckUtils]: 84: Hoare triple {25400#false} assume !false; {25400#false} is VALID [2022-04-28 12:08:02,308 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 66 proven. 33 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 12:08:02,308 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:45,579 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:09:55,660 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:10:26,253 WARN L232 SmtUtils]: Spent 15.67s on a formula simplification. DAG size of input: 63 DAG size of output: 62 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:10:26,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:26,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [441794356] [2022-04-28 12:10:26,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:26,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1597566089] [2022-04-28 12:10:26,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1597566089] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:10:26,261 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:10:26,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 12:10:26,261 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:26,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1626389853] [2022-04-28 12:10:26,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1626389853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:26,261 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:26,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:10:26,261 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1928142808] [2022-04-28 12:10:26,261 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:26,262 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-28 12:10:26,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:26,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:10:26,310 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-28 12:10:26,311 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:10:26,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:26,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:10:26,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-28 12:10:26,311 INFO L87 Difference]: Start difference. First operand 249 states and 294 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:10:31,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:31,175 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-28 12:10:31,175 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:10:31,176 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-28 12:10:31,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:31,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:10:31,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:10:31,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:10:31,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:10:31,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-28 12:10:31,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:10:31,351 INFO L225 Difference]: With dead ends: 315 [2022-04-28 12:10:31,351 INFO L226 Difference]: Without dead ends: 309 [2022-04-28 12:10:31,351 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 23.0s TimeCoverageRelationStatistics Valid=67, Invalid=237, Unknown=2, NotChecked=0, Total=306 [2022-04-28 12:10:31,351 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 25 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 452 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 452 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:31,351 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 226 Invalid, 475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 452 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 12:10:31,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-28 12:10:31,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-28 12:10:31,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:31,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 12:10:31,650 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 12:10:31,651 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 12:10:31,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:31,657 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:10:31,657 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:10:31,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:31,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:31,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-28 12:10:31,659 INFO L87 Difference]: Start difference. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-28 12:10:31,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:31,663 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:10:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:10:31,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:31,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:31,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:31,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:31,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 12:10:31,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-28 12:10:31,669 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-28 12:10:31,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:31,669 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-28 12:10:31,669 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:10:31,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-28 12:10:32,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:10:32,306 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-28 12:10:32,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:10:32,306 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:32,306 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:10:32,337 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 12:10:32,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 12:10:32,507 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:32,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:32,507 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-28 12:10:32,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:32,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1703241043] [2022-04-28 12:10:32,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:32,508 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-28 12:10:32,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:32,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1747373841] [2022-04-28 12:10:32,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:32,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:32,521 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:32,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1086892146] [2022-04-28 12:10:32,521 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:10:32,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:32,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:32,536 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:10:32,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 12:10:32,632 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:10:32,632 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:32,634 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:10:32,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:32,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:10:33,686 INFO L272 TraceCheckUtils]: 0: Hoare triple {27494#true} call ULTIMATE.init(); {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {27494#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);~counter~0 := 0; {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27494#true} {27494#true} #82#return; {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {27494#true} call #t~ret7 := main(); {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {27494#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L272 TraceCheckUtils]: 6: Hoare triple {27494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27494#true} {27494#true} #64#return; {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L272 TraceCheckUtils]: 11: Hoare triple {27494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,687 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27494#true} {27494#true} #66#return; {27494#true} is VALID [2022-04-28 12:10:33,688 INFO L290 TraceCheckUtils]: 16: Hoare triple {27494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27547#(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-28 12:10:33,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {27547#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27547#(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-28 12:10:33,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {27547#(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 !!(#t~post6 < 10);havoc #t~post6; {27547#(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-28 12:10:33,689 INFO L272 TraceCheckUtils]: 19: Hoare triple {27547#(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)); {27494#true} is VALID [2022-04-28 12:10:33,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,690 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27494#true} {27547#(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))} #68#return; {27547#(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-28 12:10:33,690 INFO L272 TraceCheckUtils]: 24: Hoare triple {27547#(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)); {27494#true} is VALID [2022-04-28 12:10:33,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,691 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27494#true} {27547#(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))} #70#return; {27547#(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-28 12:10:33,691 INFO L272 TraceCheckUtils]: 29: Hoare triple {27547#(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)); {27494#true} is VALID [2022-04-28 12:10:33,691 INFO L290 TraceCheckUtils]: 30: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,691 INFO L290 TraceCheckUtils]: 31: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,691 INFO L290 TraceCheckUtils]: 32: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,692 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27494#true} {27547#(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))} #72#return; {27547#(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-28 12:10:33,692 INFO L290 TraceCheckUtils]: 34: Hoare triple {27547#(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); {27547#(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-28 12:10:33,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {27547#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,693 INFO L290 TraceCheckUtils]: 36: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,694 INFO L290 TraceCheckUtils]: 37: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,694 INFO L272 TraceCheckUtils]: 38: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,694 INFO L290 TraceCheckUtils]: 39: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,694 INFO L290 TraceCheckUtils]: 40: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,694 INFO L290 TraceCheckUtils]: 41: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,694 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27494#true} {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,694 INFO L272 TraceCheckUtils]: 43: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~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)); {27494#true} is VALID [2022-04-28 12:10:33,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,695 INFO L290 TraceCheckUtils]: 45: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,695 INFO L290 TraceCheckUtils]: 46: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,695 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27494#true} {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,695 INFO L272 TraceCheckUtils]: 48: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~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)); {27494#true} is VALID [2022-04-28 12:10:33,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,695 INFO L290 TraceCheckUtils]: 50: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,696 INFO L290 TraceCheckUtils]: 51: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,696 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27494#true} {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,697 INFO L290 TraceCheckUtils]: 53: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,698 INFO L290 TraceCheckUtils]: 54: Hoare triple {27605#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ 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; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,698 INFO L290 TraceCheckUtils]: 55: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,699 INFO L290 TraceCheckUtils]: 56: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 10);havoc #t~post6; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,699 INFO L272 TraceCheckUtils]: 57: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,699 INFO L290 TraceCheckUtils]: 58: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,699 INFO L290 TraceCheckUtils]: 59: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,699 INFO L290 TraceCheckUtils]: 60: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,700 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27494#true} {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,700 INFO L272 TraceCheckUtils]: 62: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,700 INFO L290 TraceCheckUtils]: 63: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,700 INFO L290 TraceCheckUtils]: 64: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,700 INFO L290 TraceCheckUtils]: 65: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,701 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27494#true} {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,701 INFO L272 TraceCheckUtils]: 67: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,701 INFO L290 TraceCheckUtils]: 68: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,701 INFO L290 TraceCheckUtils]: 69: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,701 INFO L290 TraceCheckUtils]: 70: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,701 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27494#true} {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:10:33,702 INFO L290 TraceCheckUtils]: 72: Hoare triple {27663#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27718#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:10:33,704 INFO L290 TraceCheckUtils]: 73: Hoare triple {27718#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (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; {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:10:33,704 INFO L290 TraceCheckUtils]: 74: Hoare triple {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:10:33,705 INFO L290 TraceCheckUtils]: 75: Hoare triple {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:10:33,705 INFO L272 TraceCheckUtils]: 76: Hoare triple {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,705 INFO L290 TraceCheckUtils]: 77: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,705 INFO L290 TraceCheckUtils]: 79: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,706 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27494#true} {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:10:33,706 INFO L272 TraceCheckUtils]: 81: Hoare triple {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:33,706 INFO L290 TraceCheckUtils]: 82: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:33,706 INFO L290 TraceCheckUtils]: 83: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:33,706 INFO L290 TraceCheckUtils]: 84: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:33,707 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27494#true} {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:10:33,707 INFO L272 TraceCheckUtils]: 86: Hoare triple {27722#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27762#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:33,707 INFO L290 TraceCheckUtils]: 87: Hoare triple {27762#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27766#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:33,708 INFO L290 TraceCheckUtils]: 88: Hoare triple {27766#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27495#false} is VALID [2022-04-28 12:10:33,708 INFO L290 TraceCheckUtils]: 89: Hoare triple {27495#false} assume !false; {27495#false} is VALID [2022-04-28 12:10:33,708 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:10:33,708 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:34,394 INFO L290 TraceCheckUtils]: 89: Hoare triple {27495#false} assume !false; {27495#false} is VALID [2022-04-28 12:10:34,394 INFO L290 TraceCheckUtils]: 88: Hoare triple {27766#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27495#false} is VALID [2022-04-28 12:10:34,395 INFO L290 TraceCheckUtils]: 87: Hoare triple {27762#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27766#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:34,395 INFO L272 TraceCheckUtils]: 86: Hoare triple {27782#(= 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)); {27762#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:34,396 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27494#true} {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:34,396 INFO L290 TraceCheckUtils]: 84: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,396 INFO L290 TraceCheckUtils]: 83: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,396 INFO L290 TraceCheckUtils]: 82: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,396 INFO L272 TraceCheckUtils]: 81: Hoare triple {27782#(= 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)); {27494#true} is VALID [2022-04-28 12:10:34,397 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27494#true} {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:34,397 INFO L290 TraceCheckUtils]: 79: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,397 INFO L290 TraceCheckUtils]: 78: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,397 INFO L290 TraceCheckUtils]: 77: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,397 INFO L272 TraceCheckUtils]: 76: Hoare triple {27782#(= 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)); {27494#true} is VALID [2022-04-28 12:10:34,397 INFO L290 TraceCheckUtils]: 75: Hoare triple {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:34,398 INFO L290 TraceCheckUtils]: 74: Hoare triple {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:34,565 INFO L290 TraceCheckUtils]: 73: Hoare triple {27822#(or (< main_~b~0 main_~a~0) (= (+ (* (+ 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; {27782#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:34,566 INFO L290 TraceCheckUtils]: 72: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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); {27822#(or (< main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,566 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27494#true} {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)))} #72#return; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,567 INFO L290 TraceCheckUtils]: 70: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,567 INFO L290 TraceCheckUtils]: 69: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,567 INFO L290 TraceCheckUtils]: 68: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,567 INFO L272 TraceCheckUtils]: 67: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)); {27494#true} is VALID [2022-04-28 12:10:34,567 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27494#true} {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)))} #70#return; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L290 TraceCheckUtils]: 64: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L290 TraceCheckUtils]: 63: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L272 TraceCheckUtils]: 62: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)); {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27494#true} {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)))} #68#return; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,568 INFO L290 TraceCheckUtils]: 60: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L290 TraceCheckUtils]: 59: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,568 INFO L290 TraceCheckUtils]: 58: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,569 INFO L272 TraceCheckUtils]: 57: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)); {27494#true} is VALID [2022-04-28 12:10:34,569 INFO L290 TraceCheckUtils]: 56: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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 !!(#t~post6 < 10);havoc #t~post6; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,569 INFO L290 TraceCheckUtils]: 55: Hoare triple {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,666 INFO L290 TraceCheckUtils]: 54: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~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; {27826#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ 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-28 12:10:34,667 INFO L290 TraceCheckUtils]: 53: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,668 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27494#true} {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,668 INFO L290 TraceCheckUtils]: 51: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,668 INFO L272 TraceCheckUtils]: 48: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,669 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27494#true} {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,669 INFO L272 TraceCheckUtils]: 43: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,669 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27494#true} {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,669 INFO L290 TraceCheckUtils]: 41: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,670 INFO L290 TraceCheckUtils]: 39: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,670 INFO L272 TraceCheckUtils]: 38: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,670 INFO L290 TraceCheckUtils]: 37: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 10);havoc #t~post6; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) 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; {27881#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 12:10:34,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,784 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27494#true} {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,784 INFO L290 TraceCheckUtils]: 32: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,784 INFO L290 TraceCheckUtils]: 31: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,784 INFO L290 TraceCheckUtils]: 30: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,784 INFO L272 TraceCheckUtils]: 29: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,785 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27494#true} {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,785 INFO L290 TraceCheckUtils]: 26: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,785 INFO L272 TraceCheckUtils]: 24: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,785 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27494#true} {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 10);havoc #t~post6; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,787 INFO L290 TraceCheckUtils]: 17: Hoare triple {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,787 INFO L290 TraceCheckUtils]: 16: Hoare triple {27494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27939#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 12:10:34,787 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27494#true} {27494#true} #66#return; {27494#true} is VALID [2022-04-28 12:10:34,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,787 INFO L290 TraceCheckUtils]: 12: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L272 TraceCheckUtils]: 11: Hoare triple {27494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27494#true} {27494#true} #64#return; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {27494#true} assume !(0 == ~cond); {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {27494#true} ~cond := #in~cond; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {27494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {27494#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {27494#true} call #t~ret7 := main(); {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27494#true} {27494#true} #82#return; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {27494#true} assume true; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {27494#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);~counter~0 := 0; {27494#true} is VALID [2022-04-28 12:10:34,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {27494#true} call ULTIMATE.init(); {27494#true} is VALID [2022-04-28 12:10:34,789 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:10:34,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:34,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1747373841] [2022-04-28 12:10:34,789 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:34,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086892146] [2022-04-28 12:10:34,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086892146] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:10:34,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:10:34,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:10:34,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:34,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1703241043] [2022-04-28 12:10:34,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1703241043] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:34,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:34,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:10:34,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [298609663] [2022-04-28 12:10:34,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:34,790 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-28 12:10:34,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:34,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 12:10:34,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:10:34,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:10:34,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:34,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:10:34,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:10:34,849 INFO L87 Difference]: Start difference. First operand 265 states and 313 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 12:10:37,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:37,083 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-28 12:10:37,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:10:37,083 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-28 12:10:37,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:37,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 12:10:37,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:10:37,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 12:10:37,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:10:37,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 12:10:37,208 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:10:37,228 INFO L225 Difference]: With dead ends: 291 [2022-04-28 12:10:37,228 INFO L226 Difference]: Without dead ends: 285 [2022-04-28 12:10:37,228 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:10:37,228 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:37,229 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 298 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:10:37,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-28 12:10:37,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-28 12:10:37,509 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:37,509 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 12:10:37,510 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 12:10:37,510 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 12:10:37,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:37,520 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:10:37,520 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:10:37,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:37,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:37,521 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-28 12:10:37,521 INFO L87 Difference]: Start difference. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-28 12:10:37,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:37,525 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:10:37,526 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:10:37,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:37,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:37,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:37,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:37,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 12:10:37,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-28 12:10:37,531 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-28 12:10:37,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:37,531 INFO L495 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-28 12:10:37,531 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 12:10:37,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-28 12:10:38,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:10:38,199 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-28 12:10:38,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:10:38,199 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:38,200 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:10:38,218 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 12:10:38,400 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 12:10:38,400 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:38,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:38,401 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-28 12:10:38,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:38,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [922216859] [2022-04-28 12:10:38,401 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:38,401 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-28 12:10:38,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:38,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [646386005] [2022-04-28 12:10:38,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:38,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:38,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:38,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1177032865] [2022-04-28 12:10:38,410 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:10:38,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:38,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:38,411 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:10:38,413 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 12:10:38,459 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:10:38,459 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:38,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 12:10:38,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:38,654 INFO L286 TraceCheckSpWp]: Computing forward predicates...