/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_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:06:12,249 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:06:12,250 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:06:12,280 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:06:12,280 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:06:12,281 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:06:12,282 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:06:12,283 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:06:12,285 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:06:12,305 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:06:12,306 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:06:12,309 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:06:12,310 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:06:12,311 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:06:12,312 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:06:12,312 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:06:12,313 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:06:12,313 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:06:12,314 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:06:12,315 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:06:12,316 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:06:12,316 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:06:12,317 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:06:12,318 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:06:12,318 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:06:12,320 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:06:12,320 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:06:12,320 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:06:12,321 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:06:12,321 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:06:12,322 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:06:12,322 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:06:12,322 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:06:12,323 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:06:12,323 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:06:12,324 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:06:12,324 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:06:12,324 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:06:12,324 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:06:12,325 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:06:12,325 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:06:12,326 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:06:12,326 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:06:12,332 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:06:12,332 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:06:12,333 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:06:12,333 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:06:12,333 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:06:12,333 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:06:12,334 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:06:12,334 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:06:12,335 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:06:12,335 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:06:12,335 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:06:12,335 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:06:12,335 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:06:12,335 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:06:12,335 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:06:12,489 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:06:12,518 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:06:12,520 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:06:12,521 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:06:12,523 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:06:12,524 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-28 12:06:12,570 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcd45063e/5d30105f1ed6483b95650a92cebea2c6/FLAG623187fa8 [2022-04-28 12:06:12,942 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:06:12,942 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-28 12:06:12,949 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcd45063e/5d30105f1ed6483b95650a92cebea2c6/FLAG623187fa8 [2022-04-28 12:06:13,368 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcd45063e/5d30105f1ed6483b95650a92cebea2c6 [2022-04-28 12:06:13,370 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:06:13,372 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:06:13,375 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:06:13,375 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:06:13,379 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:06:13,380 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,381 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@78684090 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13, skipping insertion in model container [2022-04-28 12:06:13,381 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,386 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:06:13,397 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:06:13,537 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_unwindbound5.c[489,502] [2022-04-28 12:06:13,553 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:06:13,559 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:06:13,567 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_unwindbound5.c[489,502] [2022-04-28 12:06:13,574 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:06:13,585 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:06:13,585 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13 WrapperNode [2022-04-28 12:06:13,585 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:06:13,586 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:06:13,586 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:06:13,586 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:06:13,594 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,594 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,598 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,599 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,603 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,606 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,607 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,608 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:06:13,609 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:06:13,609 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:06:13,609 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:06:13,610 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (1/1) ... [2022-04-28 12:06:13,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:06:13,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:13,657 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:06:13,665 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:06:13,682 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:06:13,683 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:06:13,683 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:06:13,683 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:06:13,683 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:06:13,683 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:06:13,683 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:06:13,684 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:06:13,684 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:06:13,684 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:06:13,684 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:06:13,684 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:06:13,731 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:06:13,732 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:06:13,928 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:06:13,938 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:06:13,938 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:06:13,939 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:06:13 BoogieIcfgContainer [2022-04-28 12:06:13,940 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:06:13,941 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:06:13,941 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:06:13,945 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:06:13,945 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:06:13" (1/3) ... [2022-04-28 12:06:13,946 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b936e6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:06:13, skipping insertion in model container [2022-04-28 12:06:13,946 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:06:13" (2/3) ... [2022-04-28 12:06:13,946 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b936e6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:06:13, skipping insertion in model container [2022-04-28 12:06:13,947 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:06:13" (3/3) ... [2022-04-28 12:06:13,948 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-04-28 12:06:13,958 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:06:13,958 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:06:14,005 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:06:14,015 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@eecdb16, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@70122dcc [2022-04-28 12:06:14,015 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:06:14,027 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:06:14,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:06:14,034 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:14,035 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:06:14,035 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:14,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:14,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-28 12:06:14,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:14,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1691652687] [2022-04-28 12:06:14,062 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:14,062 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-28 12:06:14,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:14,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618530377] [2022-04-28 12:06:14,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:14,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:14,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:06:14,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,201 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:06:14,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:06:14,201 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:06:14,202 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:06:14,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:06:14,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:06:14,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:06:14,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:06:14,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:06:14,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:06:14,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:06:14,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:06:14,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:06:14,221 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:06:14,221 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:06:14,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:06:14,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:06:14,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-28 12:06:14,222 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:06:14,222 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:06:14,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:06:14,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:06:14,223 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:06:14,223 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:06:14,223 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:06:14,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:06:14,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:06:14,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:06:14,224 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:06:14,224 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:06:14,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-28 12:06:14,224 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:06:14,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 12:06:14,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 12:06:14,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 12:06:14,225 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:06:14,226 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:14,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618530377] [2022-04-28 12:06:14,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1618530377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:14,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:14,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:06:14,228 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:14,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1691652687] [2022-04-28 12:06:14,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1691652687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:14,229 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:14,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:06:14,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [690591544] [2022-04-28 12:06:14,229 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:14,233 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:06:14,234 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:14,236 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:06:14,255 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:06:14,255 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:06:14,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:14,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:06:14,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:06:14,281 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:06:14,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:14,495 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-28 12:06:14,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:06:14,495 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:06:14,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:14,496 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:06:14,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:06:14,507 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:06:14,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:06:14,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-28 12:06:14,640 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:14,649 INFO L225 Difference]: With dead ends: 64 [2022-04-28 12:06:14,649 INFO L226 Difference]: Without dead ends: 31 [2022-04-28 12:06:14,652 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:06:14,657 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:14,658 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.0s Time] [2022-04-28 12:06:14,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-28 12:06:14,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-28 12:06:14,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:14,682 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:06:14,682 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:06:14,683 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:06:14,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:14,687 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:06:14,687 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:06:14,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:14,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:14,688 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:06:14,689 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:06:14,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:14,692 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:06:14,692 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:06:14,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:14,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:14,693 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:14,693 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:14,693 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:06:14,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 12:06:14,697 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-28 12:06:14,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:14,697 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 12:06:14,697 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:06:14,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 12:06:14,731 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:06:14,731 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 12:06:14,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:06:14,732 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:14,732 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:06:14,733 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:06:14,733 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:14,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:14,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-28 12:06:14,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:14,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1008162637] [2022-04-28 12:06:14,736 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:14,736 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-28 12:06:14,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:14,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1225819466] [2022-04-28 12:06:14,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:14,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:14,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:06:14,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,867 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:06:14,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,869 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:06:14,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:06:14,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:06:14,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:06:14,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:06:14,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:14,890 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:06:14,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:06:14,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:06:14,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,892 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:06:14,893 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:06:14,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,898 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,898 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:06:14,899 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:06:14,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:06:14,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:06:14,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:06:14,900 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,900 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:06:14,900 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:06:14,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:06:14,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:06:14,904 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:06:14,904 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:06:14,905 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:06:14,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {305#false} is VALID [2022-04-28 12:06:14,905 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:06:14,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-28 12:06:14,906 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-28 12:06:14,906 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-28 12:06:14,906 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:06:14,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:14,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1225819466] [2022-04-28 12:06:14,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1225819466] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:14,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:14,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:14,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:14,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1008162637] [2022-04-28 12:06:14,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1008162637] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:14,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:14,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:14,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1352112462] [2022-04-28 12:06:14,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:14,908 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:06:14,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:14,908 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:06:14,924 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:06:14,924 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:14,924 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:14,926 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:14,926 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:06:14,926 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:06:15,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,151 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-28 12:06:15,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:06:15,152 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:06:15,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:15,153 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:06:15,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:06:15,163 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:06:15,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:06:15,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-28 12:06:15,207 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:06:15,211 INFO L225 Difference]: With dead ends: 42 [2022-04-28 12:06:15,211 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:06:15,212 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:06:15,214 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:06:15,215 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:06:15,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:06:15,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:06:15,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:15,225 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:06:15,226 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:06:15,226 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:06:15,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,229 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:06:15,229 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:06:15,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:15,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:15,230 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:06:15,231 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:06:15,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:15,232 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:06:15,233 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:06:15,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:15,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:15,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:15,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:15,233 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:06:15,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 12:06:15,235 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-28 12:06:15,235 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:15,235 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 12:06:15,235 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:06:15,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 12:06:15,270 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:06:15,271 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:06:15,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:06:15,271 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:15,271 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:06:15,271 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:06:15,272 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:15,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:15,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-28 12:06:15,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:15,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283702898] [2022-04-28 12:06:15,273 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:15,273 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-28 12:06:15,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:15,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682589953] [2022-04-28 12:06:15,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:15,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:15,288 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:15,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1093326363] [2022-04-28 12:06:15,289 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:15,289 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:15,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:15,290 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:06:15,300 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:06:15,347 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:06:15,347 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:15,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:06:15,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:15,359 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:17,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-28 12:06:17,743 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:06:17,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:06:17,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-28 12:06:17,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-28 12:06:17,743 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:06:17,743 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:06:17,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:06:17,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:06:17,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:06:17,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-28 12:06:17,744 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:06:17,744 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:06:17,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:06:17,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:06:17,745 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-28 12:06:17,745 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:06:17,746 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:06:17,746 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:06:17,747 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:06:17,747 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:06:17,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-28 12:06:17,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-28 12:06:17,748 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:06:17,748 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:06:17,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:17,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682589953] [2022-04-28 12:06:17,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:17,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1093326363] [2022-04-28 12:06:17,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1093326363] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:17,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:17,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:17,750 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:17,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283702898] [2022-04-28 12:06:17,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283702898] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:17,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:17,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:17,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582083463] [2022-04-28 12:06:17,750 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:17,751 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:06:17,751 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:17,751 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:06:17,765 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:06:17,765 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:17,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:17,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:17,766 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:06:17,766 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:06:17,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:17,951 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-28 12:06:17,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:06:17,952 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:06:17,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:17,952 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:06:17,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:17,958 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:06:17,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:17,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:06:18,015 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:06:18,019 INFO L225 Difference]: With dead ends: 49 [2022-04-28 12:06:18,019 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 12:06:18,020 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:06:18,023 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:06:18,028 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:06:18,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 12:06:18,047 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 12:06:18,047 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:18,048 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:06:18,049 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:06:18,050 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:06:18,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:18,057 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:06:18,057 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:06:18,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:18,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:18,061 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:06:18,062 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:06:18,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:18,065 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:06:18,065 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:06:18,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:18,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:18,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:18,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:18,066 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:06:18,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-28 12:06:18,068 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-28 12:06:18,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:18,069 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-28 12:06:18,069 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:06:18,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-28 12:06:18,131 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:06:18,132 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:06:18,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:06:18,132 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:18,132 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:06:18,153 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:06:18,350 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:06:18,350 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:18,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:18,351 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-28 12:06:18,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:18,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [427661425] [2022-04-28 12:06:18,352 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:18,352 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-28 12:06:18,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:18,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [525044165] [2022-04-28 12:06:18,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:18,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:18,369 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:18,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [605013984] [2022-04-28 12:06:18,369 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:18,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:18,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:18,373 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:06:18,375 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:06:18,420 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:18,420 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:18,421 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:06:18,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:18,432 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:18,604 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-28 12:06:18,604 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:06:18,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:06:18,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-28 12:06:18,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-28 12:06:18,605 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:06:18,605 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:06:18,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:06:18,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:06:18,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:06:18,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-28 12:06:18,608 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:06:18,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:06:18,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:06:18,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:06:18,609 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-28 12:06:18,610 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:06:18,610 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:06:18,610 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 < 5);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:06:18,611 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:06:18,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:06:18,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:06:18,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:06:18,612 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:06:18,613 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:06:18,614 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:06:18,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-28 12:06:18,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-28 12:06:18,616 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:06:18,616 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:06:18,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:18,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [525044165] [2022-04-28 12:06:18,616 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:18,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [605013984] [2022-04-28 12:06:18,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [605013984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:18,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:18,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:18,617 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:18,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [427661425] [2022-04-28 12:06:18,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [427661425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:18,617 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:18,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:18,617 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1883994583] [2022-04-28 12:06:18,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:18,618 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:06:18,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:18,618 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:06:18,633 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:06:18,633 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:18,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:18,634 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:18,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:06:18,634 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:06:18,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:18,820 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-28 12:06:18,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:06:18,820 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:06:18,820 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:18,820 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:06:18,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:18,822 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:06:18,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:18,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:06:18,877 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:06:18,878 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:06:18,878 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:06:18,879 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:06:18,879 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:06:18,880 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:06:18,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:06:18,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:06:18,895 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:18,895 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:06:18,896 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:06:18,896 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:06:18,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:18,898 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:06:18,898 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:06:18,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:18,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:18,899 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:06:18,899 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:06:18,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:18,901 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:06:18,901 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:06:18,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:18,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:18,901 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:18,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:18,902 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:06:18,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-28 12:06:18,904 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-28 12:06:18,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:18,904 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-28 12:06:18,904 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:06:18,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-28 12:06:18,954 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:06:18,954 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:06:18,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:06:18,955 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:18,955 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:06:18,972 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 12:06:19,172 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:06:19,173 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:19,173 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:19,173 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-28 12:06:19,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:19,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2117874298] [2022-04-28 12:06:19,174 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:19,174 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-28 12:06:19,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:19,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [210863600] [2022-04-28 12:06:19,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:19,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:19,185 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:19,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1036450802] [2022-04-28 12:06:19,185 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:19,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:19,186 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:19,186 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:06:19,187 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:06:19,221 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:19,221 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:19,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:06:19,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:19,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:19,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:06:19,439 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:06:19,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:06:19,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:06:19,439 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:06:19,439 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:06:19,447 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:06:19,448 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:06:19,448 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:06:19,449 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:06:19,449 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:06:19,449 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,450 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:06:19,451 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:06:19,451 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:06:19,451 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 < 5);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:06:19,452 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:06:19,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,452 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,452 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,453 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:06:19,453 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:06:19,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,453 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,455 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:06:19,456 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:06:19,456 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:06:19,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:06:19,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:06:19,457 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:06:19,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:19,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:06:19,642 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:06:19,642 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:06:19,643 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:06:19,644 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:06:19,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,644 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:06:19,645 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:06:19,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,645 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,645 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,645 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:06:19,646 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 < 5);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:06:19,646 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:06:19,647 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:06:19,647 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-28 12:06:19,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,647 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:06:19,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-28 12:06:19,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,647 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:06:19,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:06:19,648 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:06:19,648 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:06:19,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:06:19,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:06:19,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:06:19,648 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:06:19,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:06:19,648 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:06:19,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:19,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [210863600] [2022-04-28 12:06:19,649 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:19,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1036450802] [2022-04-28 12:06:19,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1036450802] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:06:19,649 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:06:19,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:06:19,649 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:19,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2117874298] [2022-04-28 12:06:19,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2117874298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:19,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:19,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:19,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1213061035] [2022-04-28 12:06:19,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:19,650 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:06:19,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:19,650 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:06:19,665 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:06:19,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:19,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:19,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:19,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:06:19,666 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:06:19,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:19,967 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-28 12:06:19,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:06:19,968 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:06:19,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:19,968 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:06:19,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:19,969 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:06:19,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:06:19,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:06:20,020 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:06:20,022 INFO L225 Difference]: With dead ends: 75 [2022-04-28 12:06:20,022 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:06:20,023 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:06:20,023 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:06:20,023 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:06:20,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:06:20,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:06:20,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:20,040 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:06:20,040 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:06:20,040 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:06:20,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:20,043 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:06:20,043 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:06:20,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:20,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:20,044 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:06:20,044 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:06:20,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:20,047 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:06:20,047 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:06:20,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:20,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:20,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:20,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:20,048 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:06:20,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-28 12:06:20,050 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-28 12:06:20,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:20,050 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-28 12:06:20,051 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:06:20,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-28 12:06:20,135 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:06:20,136 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:06:20,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:06:20,136 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:20,137 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:06:20,156 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:06:20,354 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:06:20,355 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:20,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:20,356 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-28 12:06:20,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:20,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1889884273] [2022-04-28 12:06:20,357 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:20,357 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-28 12:06:20,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:20,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617618284] [2022-04-28 12:06:20,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:20,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:20,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:20,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1523530136] [2022-04-28 12:06:20,377 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:20,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:20,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:20,378 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:06:20,383 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:06:20,435 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:20,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:20,437 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:06:20,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:20,447 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:20,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-28 12:06:20,536 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:06:20,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-28 12:06:20,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-28 12:06:20,537 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:06:20,537 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:06:20,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:06:20,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:06:20,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-28 12:06:20,538 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:06:20,538 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:06:20,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:06:20,541 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-28 12:06:20,542 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:06:20,542 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:06:20,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 5);havoc #t~post6; {1936#true} is VALID [2022-04-28 12:06:20,542 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:06:20,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-28 12:06:20,542 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:06:20,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:06:20,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,543 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-28 12:06:20,543 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:06:20,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:06:20,543 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:06:20,543 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:06:20,543 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-28 12:06:20,543 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:06:20,544 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:06:20,544 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:06:20,545 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-28 12:06:20,545 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-28 12:06:20,545 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:06:20,545 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:06:20,545 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:20,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [617618284] [2022-04-28 12:06:20,545 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:20,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1523530136] [2022-04-28 12:06:20,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1523530136] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:20,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:20,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:20,546 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:20,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1889884273] [2022-04-28 12:06:20,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1889884273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:20,546 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:20,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:20,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510004981] [2022-04-28 12:06:20,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:20,548 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:06:20,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:20,549 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:06:20,566 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:06:20,566 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:20,566 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:20,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:20,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:06:20,567 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:06:20,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:20,720 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-28 12:06:20,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:06:20,720 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:06:20,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:20,720 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:06:20,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:06:20,721 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:06:20,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:06:20,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 12:06:20,756 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:06:20,758 INFO L225 Difference]: With dead ends: 87 [2022-04-28 12:06:20,758 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 12:06:20,759 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:06:20,759 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:06:20,759 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:06:20,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 12:06:20,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-28 12:06:20,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:20,781 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:06:20,781 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:06:20,781 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:06:20,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:20,784 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:06:20,784 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:06:20,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:20,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:20,785 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:06:20,786 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:06:20,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:20,789 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:06:20,789 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:06:20,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:20,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:20,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:20,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:20,790 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:06:20,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-28 12:06:20,793 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-28 12:06:20,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:20,793 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-28 12:06:20,793 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:06:20,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-28 12:06:20,891 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:06:20,891 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-28 12:06:20,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:06:20,891 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:20,892 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:06:20,911 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 12:06:21,103 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:06:21,103 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:21,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:21,104 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-28 12:06:21,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:21,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [640521844] [2022-04-28 12:06:21,104 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:21,104 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-28 12:06:21,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:21,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [744136659] [2022-04-28 12:06:21,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:21,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:21,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:21,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [376964570] [2022-04-28 12:06:21,115 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:21,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:21,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:21,116 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:06:21,117 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:06:21,153 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:21,153 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:21,154 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:06:21,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:21,166 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:21,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:06:21,317 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:06:21,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,318 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:06:21,318 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:06:21,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,320 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:06:21,320 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:06:21,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:06:21,321 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:06:21,322 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:06:21,322 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:06:21,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,323 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:06:21,323 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,324 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,325 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:06:21,326 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:06:21,327 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,328 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,329 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:06:21,329 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:06:21,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,331 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:06:21,333 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:06:21,333 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:06:21,334 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:06:21,334 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:06:21,335 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:06:21,335 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:06:21,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:06:21,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:06:21,335 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:06:21,335 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:06:21,335 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:21,524 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:06:21,524 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:06:21,524 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:06:21,524 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:06:21,525 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:06:21,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 5)} is VALID [2022-04-28 12:06:21,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 5)} 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 5)} is VALID [2022-04-28 12:06:21,526 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,526 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #72#return; {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,526 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:06:21,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:06:21,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:06:21,527 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 5)} 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:06:21,527 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #70#return; {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:06:21,527 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:06:21,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:06:21,528 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 5)} 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:06:21,528 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #68#return; {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,528 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:06:21,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:06:21,528 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:06:21,528 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 5)} 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:06:21,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,529 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-28 12:06:21,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 4)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,530 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #66#return; {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:06:21,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:06:21,530 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:06:21,530 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:06:21,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #64#return; {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:06:21,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:06:21,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:06:21,531 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:06:21,531 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 4)} 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 4)} is VALID [2022-04-28 12:06:21,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 4)} call #t~ret7 := main(); {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 4)} {2559#true} #82#return; {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 4)} assume true; {2764#(< ~counter~0 4)} is VALID [2022-04-28 12:06:21,533 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 4)} is VALID [2022-04-28 12:06:21,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:06:21,534 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:06:21,534 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:21,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [744136659] [2022-04-28 12:06:21,534 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:21,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [376964570] [2022-04-28 12:06:21,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [376964570] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:21,534 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:21,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:06:21,534 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:21,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [640521844] [2022-04-28 12:06:21,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [640521844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:21,534 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:21,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:21,534 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184952750] [2022-04-28 12:06:21,535 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:21,535 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:06:21,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:21,535 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:06:21,555 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:06:21,555 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:21,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:21,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:21,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:06:21,556 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:06:21,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:21,722 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-28 12:06:21,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:06:21,722 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:06:21,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:21,723 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:06:21,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:06:21,724 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:06:21,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:06:21,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-28 12:06:21,782 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:06:21,784 INFO L225 Difference]: With dead ends: 121 [2022-04-28 12:06:21,785 INFO L226 Difference]: Without dead ends: 102 [2022-04-28 12:06:21,785 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:06:21,786 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:06:21,786 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:06:21,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-28 12:06:21,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-28 12:06:21,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:21,870 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:06:21,870 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:06:21,870 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:06:21,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:21,874 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:06:21,874 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:06:21,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:21,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:21,875 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:06:21,875 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:06:21,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:21,879 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:06:21,879 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:06:21,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:21,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:21,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:21,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:21,880 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:06:21,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-28 12:06:21,883 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-28 12:06:21,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:21,884 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-28 12:06:21,884 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:06:21,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-28 12:06:22,005 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:06:22,005 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 12:06:22,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:06:22,006 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:22,006 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:06:22,022 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:22,218 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:06:22,219 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:22,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:22,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-28 12:06:22,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:22,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1972926350] [2022-04-28 12:06:22,220 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:22,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-28 12:06:22,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:22,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149191943] [2022-04-28 12:06:22,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:22,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:22,230 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:22,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1494005214] [2022-04-28 12:06:22,231 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:22,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:22,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:22,232 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:06:22,260 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:06:22,275 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:22,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:22,276 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:06:22,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:22,290 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:24,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-28 12:06:24,839 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:06:24,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-28 12:06:24,839 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:06:24,839 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:06:24,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-28 12:06:24,839 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:06:24,839 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:06:24,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:06:24,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,840 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-28 12:06:24,840 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:06:24,841 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:06:24,841 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:24,841 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:06:24,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:06:24,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:06:24,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,851 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:06:24,852 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:06:24,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:06:24,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:06:24,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,852 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:06:24,853 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:06:24,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:06:24,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:06:24,853 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:06:24,853 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:06:24,853 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:06:24,854 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:06:24,854 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:06:24,855 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:24,855 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:06:24,855 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:06:24,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-28 12:06:24,856 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-28 12:06:24,856 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:06:24,856 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:06:24,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:24,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149191943] [2022-04-28 12:06:24,856 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:24,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494005214] [2022-04-28 12:06:24,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494005214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:24,856 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:24,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:24,857 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:24,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1972926350] [2022-04-28 12:06:24,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1972926350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:24,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:24,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:06:24,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1848301910] [2022-04-28 12:06:24,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:24,858 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:06:24,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:24,858 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:06:24,875 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:06:24,875 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:06:24,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:24,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:06:24,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:06:24,876 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:06:25,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:25,056 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-28 12:06:25,056 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:06:25,056 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:06:25,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:25,056 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:06:25,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:06:25,057 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:06:25,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:06:25,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-28 12:06:25,100 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:06:25,102 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:06:25,102 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 12:06:25,102 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:06:25,103 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:06:25,103 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:06:25,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 12:06:25,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 12:06:25,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:25,160 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:06:25,160 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:06:25,160 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:06:25,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:25,163 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:06:25,163 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:06:25,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:25,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:25,164 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:06:25,164 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:06:25,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:25,166 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:06:25,167 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:06:25,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:25,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:25,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:25,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:25,168 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:06:25,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-28 12:06:25,170 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-28 12:06:25,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:25,170 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-28 12:06:25,171 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:06:25,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-28 12:06:25,275 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:06:25,275 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:06:25,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 12:06:25,275 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:25,276 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:06:25,294 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:25,494 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:06:25,494 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:25,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:25,494 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-28 12:06:25,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:25,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [592466070] [2022-04-28 12:06:25,495 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:25,495 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-28 12:06:25,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:25,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [235501024] [2022-04-28 12:06:25,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:25,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:25,503 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:25,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1006269242] [2022-04-28 12:06:25,504 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:06:25,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:25,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:25,505 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:06:25,506 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:06:25,544 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:06:25,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:25,544 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:06:25,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:25,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:25,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:06:25,696 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:06:25,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:06:25,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:06:25,696 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:06:25,697 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:06:25,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:06:25,697 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:06:25,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,697 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:06:25,697 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:06:25,697 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:06:25,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:06:25,697 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:06:25,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:25,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:25,698 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,698 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:06:25,698 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:06:25,698 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:06:25,702 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:06:25,703 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:06:25,704 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:06:25,704 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:06:25,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:25,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:25,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,710 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:06:25,711 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:06:25,711 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:06:25,711 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:25,711 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:25,711 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:25,712 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:06:25,712 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:06:25,713 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:06:25,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:06:25,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:06:25,713 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:06:25,713 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:47,514 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:06:47,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:06:47,515 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:06:47,516 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:06:47,516 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:06:47,517 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,517 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:47,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:47,517 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:06:47,517 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:06:47,518 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:06:47,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:47,518 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:47,518 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:06:47,519 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:06:47,519 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:06:47,519 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:06:47,520 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:06:47,520 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:06:47,520 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:47,520 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:06:47,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:06:47,520 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:06:47,520 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:06:47,520 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:47,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:47,520 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:06:47,520 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:06:47,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:06:47,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:06:47,521 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:06:47,521 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:06:47,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:06:47,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:06:47,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:06:47,521 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:06:47,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:06:47,521 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:06:47,521 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:47,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [235501024] [2022-04-28 12:06:47,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:47,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1006269242] [2022-04-28 12:06:47,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1006269242] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:47,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:47,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:06:47,522 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:47,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [592466070] [2022-04-28 12:06:47,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [592466070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:47,522 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:47,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:06:47,522 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [237893803] [2022-04-28 12:06:47,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:47,523 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:06:47,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:47,523 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:06:47,545 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:06:47,546 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:06:47,546 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:47,546 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:06:47,546 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:06:47,546 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:06:48,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:48,089 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-28 12:06:48,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:06:48,089 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:06:48,090 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:48,090 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:06:48,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:06:48,091 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:06:48,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:06:48,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-28 12:06:48,139 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:06:48,141 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:06:48,141 INFO L226 Difference]: Without dead ends: 106 [2022-04-28 12:06:48,141 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:06:48,142 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:06:48,142 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:06:48,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-28 12:06:48,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-28 12:06:48,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:48,194 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:06:48,196 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:06:48,196 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:06:48,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:48,204 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:06:48,204 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:06:48,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:48,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:48,205 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:06:48,205 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:06:48,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:48,209 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:06:48,209 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:06:48,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:48,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:48,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:48,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:48,209 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:06:48,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-28 12:06:48,213 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-28 12:06:48,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:48,213 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-28 12:06:48,213 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:06:48,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-28 12:06:48,329 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:06:48,329 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 12:06:48,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:06:48,330 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:48,330 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:06:48,348 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:06:48,530 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:06:48,532 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:48,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:48,533 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-28 12:06:48,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:48,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [770345761] [2022-04-28 12:06:48,533 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:48,533 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-28 12:06:48,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:48,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1093024641] [2022-04-28 12:06:48,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:48,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:48,562 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:48,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [924664269] [2022-04-28 12:06:48,563 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:06:48,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:48,563 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:48,570 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:06:48,571 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:06:48,609 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:06:48,609 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:48,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:06:48,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:48,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:49,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:06:49,049 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:06:49,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:06:49,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:06:49,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:06:49,050 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:06:49,050 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:06:49,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:06:49,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:06:49,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:06:49,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:06:49,050 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:06:49,050 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:06:49,051 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:06:49,051 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:06:49,051 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:06:49,052 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:06:49,052 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:06:49,052 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 < 5);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:06:49,052 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:06:49,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:06:49,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:06:49,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:06:49,053 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:06:49,053 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:06:49,054 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:06:49,054 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:06:49,054 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:06:49,055 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:06:49,055 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:06:49,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:06:49,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:06:49,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:06:49,056 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:06:49,056 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:06:49,057 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:06:49,057 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:06:49,058 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 < 5);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:06:49,058 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:06:49,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:06:49,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:06:49,058 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:06:49,059 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:06:49,059 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:06:49,060 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:06:49,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:06:49,060 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:06:49,060 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:06:49,060 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:07,242 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:07:07,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:07:07,243 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:07:07,244 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:07:07,245 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:07:07,245 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:07:07,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:07:07,245 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:07:07,246 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 < 5);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:07:07,246 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:07:07,534 INFO 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 VALID [2022-04-28 12:07:07,535 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:07:07,535 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:07:07,535 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:07:07,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:07:07,536 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:07:07,537 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:07:07,537 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:07:07,537 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:07:07,538 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:07:07,538 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:07:07,538 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:07:07,538 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,538 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:07:07,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:07:07,539 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:07:07,539 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 < 5);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:07:07,540 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:07:07,540 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:07:07,540 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 12:07:07,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:07:07,540 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:07:07,540 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:07:07,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:07:07,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:07:07,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:07:07,541 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:07:07,541 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:07:07,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:07:07,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:07:07,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:07:07,541 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:07:07,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:07:07,541 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:07:07,541 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:07,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1093024641] [2022-04-28 12:07:07,541 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:07,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [924664269] [2022-04-28 12:07:07,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [924664269] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:07,542 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:07,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 12:07:07,542 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:07,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [770345761] [2022-04-28 12:07:07,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [770345761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:07,542 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:07,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:07:07,542 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1828971580] [2022-04-28 12:07:07,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:07,543 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:07:07,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:07,543 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:07:07,572 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:07:07,573 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:07:07,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:07,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:07:07,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:07:07,573 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:07:08,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:08,825 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-28 12:07:08,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:07:08,826 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:07:08,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:08,826 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:07:08,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-28 12:07:08,827 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:07:08,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-28 12:07:08,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2022-04-28 12:07:08,892 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:07:08,894 INFO L225 Difference]: With dead ends: 131 [2022-04-28 12:07:08,894 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 12:07:08,895 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:07:08,895 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:07:08,895 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:07:08,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 12:07:08,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-28 12:07:08,969 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:08,969 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:07:08,970 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:07:08,970 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:07:08,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:08,973 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:07:08,973 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:07:08,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:08,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:08,973 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:07:08,973 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:07:08,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:08,976 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:07:08,976 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:07:08,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:08,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:08,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:08,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:08,977 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:07:08,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-28 12:07:08,979 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-28 12:07:08,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:08,979 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-28 12:07:08,980 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:07:08,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-28 12:07:09,139 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:07:09,139 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-28 12:07:09,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 12:07:09,139 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:09,139 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:07:09,156 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:09,356 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:07:09,357 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:09,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:09,357 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-28 12:07:09,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:09,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [623584927] [2022-04-28 12:07:09,357 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:09,357 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-28 12:07:09,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:09,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671429129] [2022-04-28 12:07:09,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:09,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:09,371 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:09,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1921829649] [2022-04-28 12:07:09,371 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:07:09,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:09,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:09,378 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:07:09,379 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:07:09,418 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:07:09,418 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:09,419 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:07:09,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:09,429 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:09,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-28 12:07:09,830 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:07:09,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-28 12:07:09,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-28 12:07:09,830 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:07:09,830 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:07:09,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-28 12:07:09,831 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:07:09,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,831 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-28 12:07:09,831 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:07:09,832 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:07:09,833 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 < 5);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:07:09,833 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:07:09,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:07:09,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:07:09,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,834 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:07:09,834 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:07:09,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:07:09,834 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:07:09,834 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,835 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:07:09,835 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:07:09,842 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:07:09,843 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:07:09,843 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:07:09,843 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:07:09,844 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:07:09,844 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:07:09,845 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:07:09,845 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 < 5);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:07:09,845 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:07:09,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:07:09,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:07:09,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:07:09,846 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:07:09,846 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:07:09,846 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:07:09,847 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:07:09,847 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:07:09,848 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:07:09,848 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:07:09,848 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:07:09,849 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-28 12:07:09,849 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-28 12:07:09,849 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:07:09,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:08:06,983 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-28 12:08:06,983 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-28 12:08:06,984 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:08:06,985 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:08:06,985 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:08:06,986 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:08:06,986 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:08:06,987 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:08:06,987 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:08:06,987 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:08:06,987 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:06,987 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:08:06,988 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:08:06,988 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:08:06,988 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 < 5);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:08:06,988 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:08:07,396 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:08:07,397 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:08:07,398 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:08:07,398 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:08:07,399 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:08:07,399 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:08:07,399 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:08:07,399 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6227#true} #70#return; {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:08:07,399 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:08:07,399 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6227#true} #68#return; {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:08:07,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:08:07,399 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:08:07,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {6227#true} assume !!(#t~post6 < 5);havoc #t~post6; {6227#true} is VALID [2022-04-28 12:08:07,400 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:08:07,400 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:08:07,400 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:08:07,400 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:08:07,400 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-28 12:08:07,400 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:08:07,400 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:08:07,400 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-28 12:08:07,400 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-28 12:08:07,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-28 12:08:07,401 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:08:07,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-28 12:08:07,401 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:08:07,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:07,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671429129] [2022-04-28 12:08:07,401 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:07,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1921829649] [2022-04-28 12:08:07,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1921829649] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:08:07,401 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:08:07,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 12:08:07,402 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:07,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [623584927] [2022-04-28 12:08:07,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [623584927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:07,402 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:07,402 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:08:07,402 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1300387947] [2022-04-28 12:08:07,402 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:07,402 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:08:07,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:07,403 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:08:07,436 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:08:07,436 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:08:07,436 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:07,436 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:08:07,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:08:07,437 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:08:08,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:08,338 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-28 12:08:08,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:08:08,338 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:08:08,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:08,338 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:08:08,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:08:08,340 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:08:08,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:08:08,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-28 12:08:08,437 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:08:08,439 INFO L225 Difference]: With dead ends: 160 [2022-04-28 12:08:08,440 INFO L226 Difference]: Without dead ends: 153 [2022-04-28 12:08:08,440 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:08:08,440 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:08:08,441 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:08:08,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-28 12:08:08,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-28 12:08:08,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:08,536 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:08:08,536 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:08:08,537 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:08:08,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:08,540 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:08:08,540 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:08:08,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:08,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:08,541 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:08:08,541 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:08:08,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:08,544 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:08:08,544 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:08:08,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:08,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:08,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:08,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:08,545 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:08:08,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-28 12:08:08,548 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-28 12:08:08,548 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:08,548 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-28 12:08:08,548 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:08:08,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-28 12:08:08,803 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:08:08,803 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:08:08,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:08:08,804 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:08,804 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:08:08,824 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:08:09,004 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:08:09,005 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:09,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:09,005 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-28 12:08:09,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:09,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1014030423] [2022-04-28 12:08:09,005 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:09,005 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-28 12:08:09,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:09,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [920349301] [2022-04-28 12:08:09,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:09,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:09,018 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:09,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1107356516] [2022-04-28 12:08:09,018 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:08:09,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:09,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:09,019 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:08:09,022 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:08:09,061 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:08:09,062 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:09,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:08:09,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:09,076 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:09,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-28 12:08:09,324 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:08:09,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7494#(<= ~counter~0 0)} {7486#true} #82#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {7494#(<= ~counter~0 0)} call #t~ret7 := main(); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,325 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:08:09,326 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:08:09,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,327 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:08:09,327 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:08:09,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-28 12:08:09,328 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:08:09,329 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:08:09,329 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:08:09,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {7543#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,330 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:08:09,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,332 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:08:09,332 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:08:09,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,333 INFO L290 TraceCheckUtils]: 26: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,333 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:08:09,334 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:08:09,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-28 12:08:09,335 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:08:09,336 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:08:09,336 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:08:09,337 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:08:09,337 INFO L290 TraceCheckUtils]: 37: Hoare triple {7601#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,337 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:08:09,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,339 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:08:09,339 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:08:09,340 INFO L290 TraceCheckUtils]: 44: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,340 INFO L290 TraceCheckUtils]: 45: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,340 INFO L290 TraceCheckUtils]: 46: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,341 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:08:09,341 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:08:09,342 INFO L290 TraceCheckUtils]: 49: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,342 INFO L290 TraceCheckUtils]: 50: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,342 INFO L290 TraceCheckUtils]: 51: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,343 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:08:09,343 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:08:09,343 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:08:09,344 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:08:09,344 INFO L290 TraceCheckUtils]: 56: Hoare triple {7659#(<= |main_#t~post6| 2)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-28 12:08:09,344 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:08:09,344 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-28 12:08:09,344 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-28 12:08:09,344 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-28 12:08:09,344 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:08:09,345 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:08:09,564 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-28 12:08:09,564 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-28 12:08:09,564 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-28 12:08:09,564 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:08:09,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {7687#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-28 12:08:09,565 INFO L290 TraceCheckUtils]: 55: Hoare triple {7691#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7687#(< |main_#t~post6| 5)} is VALID [2022-04-28 12:08:09,565 INFO L290 TraceCheckUtils]: 54: Hoare triple {7691#(< ~counter~0 5)} 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 5)} is VALID [2022-04-28 12:08:09,565 INFO L290 TraceCheckUtils]: 53: Hoare triple {7691#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,566 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #72#return; {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,566 INFO L290 TraceCheckUtils]: 51: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,566 INFO L290 TraceCheckUtils]: 50: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,566 INFO L290 TraceCheckUtils]: 49: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,566 INFO L272 TraceCheckUtils]: 48: Hoare triple {7691#(< ~counter~0 5)} 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:08:09,566 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #70#return; {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,566 INFO L290 TraceCheckUtils]: 46: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L290 TraceCheckUtils]: 45: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L290 TraceCheckUtils]: 44: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L272 TraceCheckUtils]: 43: Hoare triple {7691#(< ~counter~0 5)} 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:08:09,567 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #68#return; {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,567 INFO L290 TraceCheckUtils]: 41: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,567 INFO L272 TraceCheckUtils]: 38: Hoare triple {7691#(< ~counter~0 5)} 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:08:09,568 INFO L290 TraceCheckUtils]: 37: Hoare triple {7691#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {7749#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-28 12:08:09,568 INFO L290 TraceCheckUtils]: 35: Hoare triple {7749#(< ~counter~0 4)} 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 4)} is VALID [2022-04-28 12:08:09,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {7749#(< ~counter~0 4)} assume !!(~a~0 != ~b~0); {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,569 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #72#return; {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,569 INFO L272 TraceCheckUtils]: 29: Hoare triple {7749#(< ~counter~0 4)} 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:08:09,570 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #70#return; {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {7749#(< ~counter~0 4)} 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:08:09,571 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #68#return; {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,571 INFO L290 TraceCheckUtils]: 21: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,571 INFO L290 TraceCheckUtils]: 20: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,571 INFO L272 TraceCheckUtils]: 19: Hoare triple {7749#(< ~counter~0 4)} 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:08:09,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {7749#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,572 INFO L290 TraceCheckUtils]: 17: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-28 12:08:09,572 INFO L290 TraceCheckUtils]: 16: Hoare triple {7601#(<= ~counter~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,572 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #66#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,572 INFO L272 TraceCheckUtils]: 11: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:08:09,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #64#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-28 12:08:09,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-28 12:08:09,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-28 12:08:09,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-28 12:08:09,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {7601#(<= ~counter~0 2)} 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; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {7601#(<= ~counter~0 2)} call #t~ret7 := main(); {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7601#(<= ~counter~0 2)} {7486#true} #82#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,576 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; {7601#(<= ~counter~0 2)} is VALID [2022-04-28 12:08:09,576 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-28 12:08:09,576 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:08:09,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:09,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [920349301] [2022-04-28 12:08:09,576 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:09,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1107356516] [2022-04-28 12:08:09,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1107356516] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:08:09,576 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:08:09,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-28 12:08:09,577 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:09,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1014030423] [2022-04-28 12:08:09,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1014030423] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:09,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:09,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:08:09,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543174326] [2022-04-28 12:08:09,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:09,577 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:08:09,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:09,577 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:08:09,608 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:08:09,609 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:08:09,609 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:09,609 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:08:09,609 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:08:09,609 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:08:09,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:09,881 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-28 12:08:09,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:08:09,881 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:08:09,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:09,882 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:08:09,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:08:09,883 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:08:09,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:08:09,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 12:08:09,945 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:08:09,948 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:08:09,948 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:08:09,949 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:08:09,949 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:08:09,949 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:08:09,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:08:10,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 12:08:10,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:10,070 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:08:10,071 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:08:10,071 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:08:10,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:10,074 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:08:10,074 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:08:10,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:10,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:10,075 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:08:10,075 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:08:10,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:10,079 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:08:10,079 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:08:10,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:10,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:10,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:10,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:10,080 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:08:10,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-28 12:08:10,083 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-28 12:08:10,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:10,084 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-28 12:08:10,084 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:08:10,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-28 12:08:10,347 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:08:10,348 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:08:10,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:08:10,348 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:10,348 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:08:10,365 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:08:10,548 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:08:10,549 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:10,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:10,549 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-28 12:08:10,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:10,549 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2110335547] [2022-04-28 12:08:10,550 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:10,550 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-28 12:08:10,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:10,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1338178474] [2022-04-28 12:08:10,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:10,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:10,559 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:10,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [444464257] [2022-04-28 12:08:10,559 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:08:10,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:10,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:10,560 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:08:10,561 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:08:10,605 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:08:10,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:10,607 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:08:10,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:10,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:10,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#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; {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#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; {8954#true} is VALID [2022-04-28 12:08:10,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-28 12:08:10,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,905 INFO L290 TraceCheckUtils]: 17: Hoare triple {9007#(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; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,905 INFO L272 TraceCheckUtils]: 19: Hoare triple {9007#(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)); {8954#true} is VALID [2022-04-28 12:08:10,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,905 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,906 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,906 INFO L272 TraceCheckUtils]: 24: Hoare triple {9007#(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)); {8954#true} is VALID [2022-04-28 12:08:10,906 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,906 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,907 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,907 INFO L272 TraceCheckUtils]: 29: Hoare triple {9007#(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)); {8954#true} is VALID [2022-04-28 12:08:10,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,907 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,907 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,908 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,908 INFO L290 TraceCheckUtils]: 34: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:10,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {9007#(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; {9065#(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:08:10,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {9065#(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; {9065#(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:08:10,909 INFO L290 TraceCheckUtils]: 37: Hoare triple {9065#(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 < 5);havoc #t~post6; {9065#(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:08:10,909 INFO L272 TraceCheckUtils]: 38: Hoare triple {9065#(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)); {8954#true} is VALID [2022-04-28 12:08:10,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,909 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,911 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9065#(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; {9065#(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:08:10,911 INFO L272 TraceCheckUtils]: 43: Hoare triple {9065#(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)); {8954#true} is VALID [2022-04-28 12:08:10,911 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,911 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,911 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,912 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9065#(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; {9065#(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:08:10,912 INFO L272 TraceCheckUtils]: 48: Hoare triple {9065#(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)); {8954#true} is VALID [2022-04-28 12:08:10,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:10,912 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:10,913 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:10,913 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9065#(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; {9065#(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:08:10,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {9065#(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); {9065#(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:08:10,914 INFO L290 TraceCheckUtils]: 54: Hoare triple {9065#(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; {9123#(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:08:10,915 INFO L290 TraceCheckUtils]: 55: Hoare triple {9123#(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; {9123#(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:08:10,915 INFO L290 TraceCheckUtils]: 56: Hoare triple {9123#(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 < 5);havoc #t~post6; {9123#(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:08:10,916 INFO L272 TraceCheckUtils]: 57: Hoare triple {9123#(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)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:10,916 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:10,917 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-28 12:08:10,917 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-28 12:08:10,917 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:08:10,917 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:08:11,137 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-28 12:08:11,138 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-28 12:08:11,138 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:11,139 INFO L272 TraceCheckUtils]: 57: Hoare triple {9153#(= (* 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)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:11,139 INFO L290 TraceCheckUtils]: 56: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,139 INFO L290 TraceCheckUtils]: 55: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,142 INFO L290 TraceCheckUtils]: 54: Hoare triple {9153#(= (* 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; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,143 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,143 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,143 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,143 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,143 INFO L272 TraceCheckUtils]: 48: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,144 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,144 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,144 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,145 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,145 INFO L272 TraceCheckUtils]: 43: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,147 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,148 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,148 INFO L272 TraceCheckUtils]: 38: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,148 INFO L290 TraceCheckUtils]: 37: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {9153#(= (* 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; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,152 INFO L290 TraceCheckUtils]: 34: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,153 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,153 INFO L272 TraceCheckUtils]: 29: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,153 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,154 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,155 INFO L272 TraceCheckUtils]: 19: Hoare triple {9153#(= (* 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)); {8954#true} is VALID [2022-04-28 12:08:11,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:08:11,156 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-28 12:08:11,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#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; {8954#true} is VALID [2022-04-28 12:08:11,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-28 12:08:11,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-28 12:08:11,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-28 12:08:11,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#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; {8954#true} is VALID [2022-04-28 12:08:11,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-28 12:08:11,157 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:08:11,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:11,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1338178474] [2022-04-28 12:08:11,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:11,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [444464257] [2022-04-28 12:08:11,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [444464257] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:08:11,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:08:11,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:08:11,158 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:11,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2110335547] [2022-04-28 12:08:11,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2110335547] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:11,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:11,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:08:11,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145830296] [2022-04-28 12:08:11,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:11,158 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:08:11,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:11,159 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:08:11,188 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:08:11,188 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:08:11,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:11,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:08:11,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:08:11,188 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:08:11,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:11,474 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-28 12:08:11,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:08:11,475 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:08:11,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:11,475 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:08:11,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:08:11,476 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:08:11,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:08:11,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-28 12:08:11,518 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:08:11,520 INFO L225 Difference]: With dead ends: 179 [2022-04-28 12:08:11,521 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 12:08:11,521 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:08:11,522 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:08:11,522 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:08:11,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 12:08:11,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-28 12:08:11,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:11,665 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:08:11,665 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:08:11,665 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:08:11,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:11,668 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:08:11,668 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:08:11,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:11,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:11,669 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:08:11,669 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:08:11,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:11,673 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:08:11,673 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:08:11,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:11,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:11,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:11,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:11,673 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:08:11,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-28 12:08:11,677 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-28 12:08:11,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:11,677 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-28 12:08:11,677 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:08:11,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-28 12:08:11,923 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:08:11,923 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-28 12:08:11,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:08:11,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:11,924 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:08:11,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:08:12,124 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:08:12,124 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:12,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:12,125 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-28 12:08:12,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:12,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1251730616] [2022-04-28 12:08:12,125 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:12,125 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-28 12:08:12,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:12,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [297071949] [2022-04-28 12:08:12,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:12,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:12,135 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:12,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1203468323] [2022-04-28 12:08:12,135 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:08:12,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:12,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:12,136 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:08:12,137 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:08:12,213 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:08:12,213 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:12,214 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 12:08:12,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:12,235 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:12,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-28 12:08:12,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#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; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#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; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,725 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-28 12:08:12,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10432#(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:08:12,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {10432#(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; {10432#(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:08:12,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {10432#(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 < 5);havoc #t~post6; {10432#(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:08:12,727 INFO L272 TraceCheckUtils]: 19: Hoare triple {10432#(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)); {10379#true} is VALID [2022-04-28 12:08:12,727 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,727 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,727 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10432#(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; {10432#(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:08:12,727 INFO L272 TraceCheckUtils]: 24: Hoare triple {10432#(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)); {10379#true} is VALID [2022-04-28 12:08:12,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10432#(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; {10432#(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:08:12,728 INFO L272 TraceCheckUtils]: 29: Hoare triple {10432#(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)); {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,729 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10432#(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; {10432#(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:08:12,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {10432#(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); {10432#(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:08:12,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {10432#(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; {10490#(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:08:12,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {10490#(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; {10490#(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:08:12,731 INFO L290 TraceCheckUtils]: 37: Hoare triple {10490#(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 < 5);havoc #t~post6; {10490#(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:08:12,731 INFO L272 TraceCheckUtils]: 38: Hoare triple {10490#(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)); {10379#true} is VALID [2022-04-28 12:08:12,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,731 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10490#(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; {10490#(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:08:12,732 INFO L272 TraceCheckUtils]: 43: Hoare triple {10490#(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)); {10379#true} is VALID [2022-04-28 12:08:12,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:12,732 INFO L290 TraceCheckUtils]: 45: Hoare triple {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:12,732 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:12,733 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10490#(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; {10490#(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:08:12,733 INFO L272 TraceCheckUtils]: 48: Hoare triple {10490#(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)); {10379#true} is VALID [2022-04-28 12:08:12,733 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,733 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,733 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,734 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10490#(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; {10490#(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:08:12,734 INFO L290 TraceCheckUtils]: 53: Hoare triple {10490#(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); {10490#(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:08:12,735 INFO L290 TraceCheckUtils]: 54: Hoare triple {10490#(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; {10550#(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:08:12,735 INFO L290 TraceCheckUtils]: 55: Hoare triple {10550#(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; {10550#(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:08:12,736 INFO L290 TraceCheckUtils]: 56: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {10550#(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:08:12,736 INFO L272 TraceCheckUtils]: 57: Hoare triple {10550#(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)); {10379#true} is VALID [2022-04-28 12:08:12,736 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:12,736 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:12,736 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:12,736 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #68#return; {10550#(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:08:12,737 INFO L272 TraceCheckUtils]: 62: Hoare triple {10550#(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)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:12,737 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:12,738 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-28 12:08:12,738 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-28 12:08:12,738 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:08:12,738 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:08:41,238 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-28 12:08:41,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-28 12:08:41,238 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:41,239 INFO L272 TraceCheckUtils]: 62: Hoare triple {10595#(= 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)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:41,240 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:08:41,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,240 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,240 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,240 INFO L272 TraceCheckUtils]: 57: Hoare triple {10595#(= 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)); {10379#true} is VALID [2022-04-28 12:08:41,240 INFO L290 TraceCheckUtils]: 56: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:08:41,241 INFO L290 TraceCheckUtils]: 55: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:08:41,328 INFO L290 TraceCheckUtils]: 54: Hoare triple {10620#(= (+ 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; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:08:41,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {10620#(= (+ 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); {10620#(= (+ 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:08:41,329 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10620#(= (+ 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; {10620#(= (+ 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:08:41,330 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,330 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,330 INFO L272 TraceCheckUtils]: 48: Hoare triple {10620#(= (+ 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)); {10379#true} is VALID [2022-04-28 12:08:41,331 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10642#(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; {10620#(= (+ 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:08:41,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:41,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:41,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:08:41,332 INFO L272 TraceCheckUtils]: 43: Hoare triple {10642#(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)); {10379#true} is VALID [2022-04-28 12:08:41,332 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10642#(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; {10642#(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:08:41,332 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,332 INFO L272 TraceCheckUtils]: 38: Hoare triple {10642#(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)); {10379#true} is VALID [2022-04-28 12:08:41,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {10642#(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 < 5);havoc #t~post6; {10642#(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:08:41,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {10642#(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; {10642#(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:08:41,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {10680#(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; {10642#(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:08:41,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {10680#(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); {10680#(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:08:41,743 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10680#(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; {10680#(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:08:41,743 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,743 INFO L272 TraceCheckUtils]: 29: Hoare triple {10680#(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)); {10379#true} is VALID [2022-04-28 12:08:41,744 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10680#(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; {10680#(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:08:41,744 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,744 INFO L272 TraceCheckUtils]: 24: Hoare triple {10680#(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)); {10379#true} is VALID [2022-04-28 12:08:41,745 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10680#(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; {10680#(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:08:41,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,745 INFO L272 TraceCheckUtils]: 19: Hoare triple {10680#(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)); {10379#true} is VALID [2022-04-28 12:08:41,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {10680#(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 < 5);havoc #t~post6; {10680#(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:08:41,746 INFO L290 TraceCheckUtils]: 17: Hoare triple {10680#(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; {10680#(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:08:41,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10680#(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:08:41,746 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-28 12:08:41,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#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; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#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; {10379#true} is VALID [2022-04-28 12:08:41,747 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-28 12:08:41,748 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:08:41,748 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:41,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [297071949] [2022-04-28 12:08:41,748 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:41,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1203468323] [2022-04-28 12:08:41,748 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1203468323] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:08:41,748 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:08:41,748 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:08:41,748 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:41,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1251730616] [2022-04-28 12:08:41,748 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1251730616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:41,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:41,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:08:41,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1602331293] [2022-04-28 12:08:41,749 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:41,749 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:08:41,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:41,749 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:08:41,791 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:08:41,791 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:08:41,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:41,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:08:41,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:08:41,792 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:08:42,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:42,818 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-28 12:08:42,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:08:42,818 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:08:42,818 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:42,819 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:08:42,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:08:42,820 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:08:42,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:08:42,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:08:42,906 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:08:42,909 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:08:42,910 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:08:42,910 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:08:42,910 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 340 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 347 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 340 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:08:42,910 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 194 Invalid, 347 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 340 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:08:42,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:08:43,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-28 12:08:43,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:43,028 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:08:43,028 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:08:43,028 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:08:43,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:43,032 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:08:43,032 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:08:43,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:43,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:43,033 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:08:43,033 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:08:43,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:43,037 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:08:43,037 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:08:43,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:43,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:43,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:43,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:43,038 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:08:43,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-28 12:08:43,041 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-28 12:08:43,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:43,041 INFO L495 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-28 12:08:43,042 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:08:43,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-28 12:08:43,299 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:08:43,300 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-28 12:08:43,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:08:43,303 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:43,303 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:08:43,321 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:08:43,505 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:08:43,506 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:43,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:43,506 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-28 12:08:43,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:43,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1661949715] [2022-04-28 12:08:43,506 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:43,507 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-28 12:08:43,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:43,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [235945730] [2022-04-28 12:08:43,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:43,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:43,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:43,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [673641891] [2022-04-28 12:08:43,521 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:08:43,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:43,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:43,522 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:08:43,523 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:08:43,564 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:08:43,564 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:43,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:08:43,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:43,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:44,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#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; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#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; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-28 12:08:44,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11999#(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:08:44,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {11999#(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; {11999#(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:08:44,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {11999#(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 < 5);havoc #t~post6; {11999#(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:08:44,063 INFO L272 TraceCheckUtils]: 19: Hoare triple {11999#(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)); {11946#true} is VALID [2022-04-28 12:08:44,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,064 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11999#(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; {11999#(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:08:44,064 INFO L272 TraceCheckUtils]: 24: Hoare triple {11999#(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)); {11946#true} is VALID [2022-04-28 12:08:44,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,064 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,065 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11999#(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; {11999#(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:08:44,065 INFO L272 TraceCheckUtils]: 29: Hoare triple {11999#(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)); {11946#true} is VALID [2022-04-28 12:08:44,065 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:44,065 INFO L290 TraceCheckUtils]: 31: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:44,066 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:44,067 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11999#(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; {12053#(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:08:44,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {12053#(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); {12053#(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:08:44,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {12053#(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; {12060#(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:08:44,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {12060#(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; {12060#(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:08:44,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {12060#(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 < 5);havoc #t~post6; {12060#(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:08:44,069 INFO L272 TraceCheckUtils]: 38: Hoare triple {12060#(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)); {11946#true} is VALID [2022-04-28 12:08:44,069 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,069 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,069 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,070 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12060#(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; {12060#(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:08:44,070 INFO L272 TraceCheckUtils]: 43: Hoare triple {12060#(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)); {11946#true} is VALID [2022-04-28 12:08:44,070 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,070 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,070 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,073 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12060#(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; {12060#(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:08:44,073 INFO L272 TraceCheckUtils]: 48: Hoare triple {12060#(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)); {11946#true} is VALID [2022-04-28 12:08:44,073 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:44,073 INFO L290 TraceCheckUtils]: 50: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:44,074 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:44,074 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12060#(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; {12060#(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:08:44,075 INFO L290 TraceCheckUtils]: 53: Hoare triple {12060#(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); {12060#(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:08:44,076 INFO L290 TraceCheckUtils]: 54: Hoare triple {12060#(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; {12118#(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:08:44,076 INFO L290 TraceCheckUtils]: 55: Hoare triple {12118#(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; {12118#(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:08:44,076 INFO L290 TraceCheckUtils]: 56: Hoare triple {12118#(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 < 5);havoc #t~post6; {12118#(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:08:44,077 INFO L272 TraceCheckUtils]: 57: Hoare triple {12118#(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)); {11946#true} is VALID [2022-04-28 12:08:44,077 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:08:44,077 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:08:44,077 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:08:44,077 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12118#(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; {12118#(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:08:44,078 INFO L272 TraceCheckUtils]: 62: Hoare triple {12118#(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)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:44,078 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:44,078 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-28 12:08:44,079 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-28 12:08:44,079 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:08:44,079 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:28,437 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-28 12:09:28,437 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-28 12:09:28,437 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:28,438 INFO L272 TraceCheckUtils]: 62: Hoare triple {12163#(= 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)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:28,439 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:28,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:28,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:28,439 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:28,439 INFO L272 TraceCheckUtils]: 57: Hoare triple {12163#(= 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)); {11946#true} is VALID [2022-04-28 12:09:28,439 INFO L290 TraceCheckUtils]: 56: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:28,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:29,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {12188#(= (+ 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; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:29,290 INFO L290 TraceCheckUtils]: 53: Hoare triple {12188#(= (+ 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); {12188#(= (+ 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:09:29,291 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12195#(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; {12188#(= (+ 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:09:29,291 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:29,292 INFO L290 TraceCheckUtils]: 50: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:29,292 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:29,292 INFO L272 TraceCheckUtils]: 48: Hoare triple {12195#(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)); {11946#true} is VALID [2022-04-28 12:09:29,293 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12195#(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; {12195#(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:09:29,293 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:29,293 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:29,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:29,293 INFO L272 TraceCheckUtils]: 43: Hoare triple {12195#(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)); {11946#true} is VALID [2022-04-28 12:09:29,293 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12195#(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; {12195#(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:09:29,293 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:29,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:29,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:29,294 INFO L272 TraceCheckUtils]: 38: Hoare triple {12195#(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)); {11946#true} is VALID [2022-04-28 12:09:29,294 INFO L290 TraceCheckUtils]: 37: Hoare triple {12195#(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 < 5);havoc #t~post6; {12195#(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:09:29,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {12195#(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; {12195#(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:09:31,296 WARN L290 TraceCheckUtils]: 35: Hoare triple {12248#(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; {12195#(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 UNKNOWN [2022-04-28 12:09:31,297 INFO L290 TraceCheckUtils]: 34: Hoare triple {12248#(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); {12248#(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:09:31,298 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11946#true} #72#return; {12248#(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:09:31,298 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:31,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:31,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:31,299 INFO L272 TraceCheckUtils]: 29: Hoare triple {11946#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:09:31,299 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11946#true} #70#return; {11946#true} is VALID [2022-04-28 12:09:31,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:31,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L272 TraceCheckUtils]: 24: Hoare triple {11946#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11946#true} #68#return; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L272 TraceCheckUtils]: 19: Hoare triple {11946#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {11946#true} assume !!(#t~post6 < 5);havoc #t~post6; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 17: Hoare triple {11946#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-28 12:09:31,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#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; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#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; {11946#true} is VALID [2022-04-28 12:09:31,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-28 12:09:31,301 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:09:31,301 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:31,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [235945730] [2022-04-28 12:09:31,301 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:31,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673641891] [2022-04-28 12:09:31,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673641891] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:31,302 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:31,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 12:09:31,302 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:31,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1661949715] [2022-04-28 12:09:31,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1661949715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:31,302 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:31,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:09:31,302 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2116079541] [2022-04-28 12:09:31,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:31,303 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:09:31,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:31,303 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:09:31,346 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:09:31,346 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:09:31,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:31,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:09:31,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:09:31,347 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:09:32,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:32,419 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:09:32,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:09:32,419 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:09:32,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:32,420 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:09:32,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:09:32,421 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:09:32,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:09:32,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:09:32,516 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:09:32,520 INFO L225 Difference]: With dead ends: 208 [2022-04-28 12:09:32,520 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 12:09:32,520 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:09:32,520 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 347 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 347 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:32,521 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 199 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 347 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:09:32,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 12:09:32,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-28 12:09:32,648 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:32,649 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:09:32,649 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:09:32,649 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:09:32,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:32,653 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:09:32,653 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:09:32,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:32,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:32,654 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:09:32,654 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:09:32,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:32,658 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:09:32,658 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:09:32,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:32,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:32,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:32,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:32,659 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:09:32,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-28 12:09:32,663 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-28 12:09:32,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:32,663 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-28 12:09:32,663 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:09:32,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-28 12:09:32,960 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:09:32,961 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-28 12:09:32,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:09:32,961 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:32,961 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:09:32,992 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:09:33,162 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:09:33,162 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:33,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:33,162 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-28 12:09:33,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:33,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [921617393] [2022-04-28 12:09:33,163 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:33,163 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-28 12:09:33,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:33,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013976339] [2022-04-28 12:09:33,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:33,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:33,172 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:33,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [730261409] [2022-04-28 12:09:33,172 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:09:33,172 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:33,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:33,174 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:09:33,174 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:09:33,224 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:09:33,225 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:33,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:09:33,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:33,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:33,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#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; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#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; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-28 12:09:33,578 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-28 12:09:33,579 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,579 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-28 12:09:33,579 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13621#(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:09:33,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {13621#(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; {13621#(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:09:33,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {13621#(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:09:33,594 INFO L272 TraceCheckUtils]: 19: Hoare triple {13621#(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)); {13568#true} is VALID [2022-04-28 12:09:33,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,594 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13621#(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:09:33,595 INFO L272 TraceCheckUtils]: 24: Hoare triple {13621#(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)); {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13621#(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:09:33,595 INFO L272 TraceCheckUtils]: 29: Hoare triple {13621#(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)); {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,596 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,596 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13621#(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:09:33,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13621#(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:09:33,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {13621#(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; {13679#(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:09:33,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {13679#(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; {13679#(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:09:33,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {13679#(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 < 5);havoc #t~post6; {13679#(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:09:33,598 INFO L272 TraceCheckUtils]: 38: Hoare triple {13679#(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)); {13568#true} is VALID [2022-04-28 12:09:33,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,599 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13679#(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:09:33,599 INFO L272 TraceCheckUtils]: 43: Hoare triple {13679#(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)); {13568#true} is VALID [2022-04-28 12:09:33,599 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:33,599 INFO L290 TraceCheckUtils]: 45: Hoare triple {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:33,599 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:33,600 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13718#(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:09:33,600 INFO L272 TraceCheckUtils]: 48: Hoare triple {13718#(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)); {13568#true} is VALID [2022-04-28 12:09:33,600 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,600 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,600 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,601 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13718#(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; {13718#(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:09:33,601 INFO L290 TraceCheckUtils]: 53: Hoare triple {13718#(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); {13718#(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:09:33,604 INFO L290 TraceCheckUtils]: 54: Hoare triple {13718#(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; {13740#(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:09:33,604 INFO L290 TraceCheckUtils]: 55: Hoare triple {13740#(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; {13740#(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:09:33,605 INFO L290 TraceCheckUtils]: 56: Hoare triple {13740#(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 < 5);havoc #t~post6; {13740#(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:09:33,605 INFO L272 TraceCheckUtils]: 57: Hoare triple {13740#(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)); {13568#true} is VALID [2022-04-28 12:09:33,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,605 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,606 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13740#(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; {13740#(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:09:33,606 INFO L272 TraceCheckUtils]: 62: Hoare triple {13740#(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)); {13568#true} is VALID [2022-04-28 12:09:33,606 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:33,606 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:33,606 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:33,607 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13740#(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; {13740#(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:09:33,608 INFO L272 TraceCheckUtils]: 67: Hoare triple {13740#(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)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:33,608 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:33,608 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-28 12:09:33,608 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-28 12:09:33,609 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:09:33,609 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:46,018 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-28 12:09:46,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-28 12:09:46,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:46,020 INFO L272 TraceCheckUtils]: 67: Hoare triple {13800#(= 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)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:46,020 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,021 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,021 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,021 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,021 INFO L272 TraceCheckUtils]: 62: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-28 12:09:46,021 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,021 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,021 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,022 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,022 INFO L272 TraceCheckUtils]: 57: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-28 12:09:46,022 INFO L290 TraceCheckUtils]: 56: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {13840#(= (+ (* (+ 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; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {13840#(= (+ (* (+ 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); {13840#(= (+ (* (+ 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:09:46,142 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13840#(= (+ (* (+ 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; {13840#(= (+ (* (+ 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:09:46,142 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,142 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,143 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,143 INFO L272 TraceCheckUtils]: 48: Hoare triple {13840#(= (+ (* (+ 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)); {13568#true} is VALID [2022-04-28 12:09:46,145 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13862#(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; {13840#(= (+ (* (+ 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:09:46,145 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:46,146 INFO L290 TraceCheckUtils]: 45: Hoare triple {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:46,146 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:46,146 INFO L272 TraceCheckUtils]: 43: Hoare triple {13862#(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)); {13568#true} is VALID [2022-04-28 12:09:46,147 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13862#(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; {13862#(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:09:46,147 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,147 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,147 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,147 INFO L272 TraceCheckUtils]: 38: Hoare triple {13862#(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)); {13568#true} is VALID [2022-04-28 12:09:46,147 INFO L290 TraceCheckUtils]: 37: Hoare triple {13862#(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 < 5);havoc #t~post6; {13862#(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:09:46,148 INFO L290 TraceCheckUtils]: 36: Hoare triple {13862#(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; {13862#(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:09:46,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {13800#(= 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; {13862#(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:09:46,149 INFO L290 TraceCheckUtils]: 34: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,150 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,150 INFO L272 TraceCheckUtils]: 29: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-28 12:09:46,151 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,151 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,151 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,151 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,151 INFO L272 TraceCheckUtils]: 24: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-28 12:09:46,151 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,151 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,152 INFO L272 TraceCheckUtils]: 19: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-28 12:09:46,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:46,153 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#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; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-28 12:09:46,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#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; {13568#true} is VALID [2022-04-28 12:09:46,154 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-28 12:09:46,154 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:09:46,154 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:46,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2013976339] [2022-04-28 12:09:46,154 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:46,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [730261409] [2022-04-28 12:09:46,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [730261409] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:46,154 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:46,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 12:09:46,154 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:46,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [921617393] [2022-04-28 12:09:46,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [921617393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:46,155 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:46,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:09:46,155 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [984425412] [2022-04-28 12:09:46,155 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:46,155 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:09:46,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:46,155 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:09:46,199 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:09:46,200 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:09:46,200 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:46,200 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:09:46,200 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:09:46,200 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:09:47,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:47,261 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-28 12:09:47,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:09:47,262 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:09:47,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:47,262 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:09:47,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:09:47,263 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:09:47,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:09:47,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-28 12:09:47,366 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:09:47,370 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:09:47,370 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 12:09:47,370 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:09:47,370 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:47,371 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 215 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 372 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:09:47,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 12:09:47,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-28 12:09:47,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:47,505 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:09:47,505 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:09:47,506 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:09:47,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:47,509 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:09:47,509 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:09:47,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:47,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:47,510 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:09:47,510 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:09:47,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:47,514 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:09:47,514 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:09:47,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:47,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:47,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:47,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:47,515 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:09:47,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-28 12:09:47,518 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-28 12:09:47,518 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:47,519 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-28 12:09:47,519 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:09:47,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-28 12:09:47,863 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:09:47,863 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-28 12:09:47,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:09:47,863 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:47,864 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:09:47,881 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:09:48,064 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:09:48,064 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:48,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:48,065 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-28 12:09:48,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:48,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1490541403] [2022-04-28 12:09:48,065 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:48,065 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-28 12:09:48,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:48,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [956530400] [2022-04-28 12:09:48,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:48,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:48,075 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:48,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [597695008] [2022-04-28 12:09:48,075 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:09:48,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:48,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:48,076 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:09:48,077 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:09:48,117 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:09:48,118 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:48,119 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:09:48,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:48,131 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:48,589 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#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; {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#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; {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-28 12:09:48,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15292#(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:09:48,591 INFO L290 TraceCheckUtils]: 17: Hoare triple {15292#(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; {15292#(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:09:48,591 INFO L290 TraceCheckUtils]: 18: Hoare triple {15292#(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 < 5);havoc #t~post6; {15292#(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:09:48,591 INFO L272 TraceCheckUtils]: 19: Hoare triple {15292#(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)); {15239#true} is VALID [2022-04-28 12:09:48,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,591 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,592 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15292#(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; {15292#(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:09:48,592 INFO L272 TraceCheckUtils]: 24: Hoare triple {15292#(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)); {15239#true} is VALID [2022-04-28 12:09:48,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,593 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15292#(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; {15292#(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:09:48,593 INFO L272 TraceCheckUtils]: 29: Hoare triple {15292#(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)); {15239#true} is VALID [2022-04-28 12:09:48,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:48,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:48,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:48,604 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15292#(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; {15292#(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:09:48,605 INFO L290 TraceCheckUtils]: 34: Hoare triple {15292#(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); {15292#(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:09:48,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {15292#(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; {15352#(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:09:48,606 INFO L290 TraceCheckUtils]: 36: Hoare triple {15352#(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; {15352#(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:09:48,606 INFO L290 TraceCheckUtils]: 37: Hoare triple {15352#(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 < 5);havoc #t~post6; {15352#(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:09:48,606 INFO L272 TraceCheckUtils]: 38: Hoare triple {15352#(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)); {15239#true} is VALID [2022-04-28 12:09:48,606 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,607 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15352#(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; {15352#(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:09:48,607 INFO L272 TraceCheckUtils]: 43: Hoare triple {15352#(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)); {15239#true} is VALID [2022-04-28 12:09:48,607 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,607 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,607 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,608 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15352#(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; {15352#(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:09:48,608 INFO L272 TraceCheckUtils]: 48: Hoare triple {15352#(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)); {15239#true} is VALID [2022-04-28 12:09:48,608 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:48,608 INFO L290 TraceCheckUtils]: 50: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:48,609 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:48,609 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15352#(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; {15352#(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:09:48,610 INFO L290 TraceCheckUtils]: 53: Hoare triple {15352#(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); {15352#(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:09:48,611 INFO L290 TraceCheckUtils]: 54: Hoare triple {15352#(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; {15410#(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:09:48,611 INFO L290 TraceCheckUtils]: 55: Hoare triple {15410#(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; {15410#(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:09:48,612 INFO L290 TraceCheckUtils]: 56: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {15410#(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:09:48,612 INFO L272 TraceCheckUtils]: 57: Hoare triple {15410#(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)); {15239#true} is VALID [2022-04-28 12:09:48,612 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,612 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,612 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,612 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15410#(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:09:48,612 INFO L272 TraceCheckUtils]: 62: Hoare triple {15410#(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)); {15239#true} is VALID [2022-04-28 12:09:48,612 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:09:48,613 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:09:48,613 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:09:48,613 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15410#(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:09:48,614 INFO L272 TraceCheckUtils]: 67: Hoare triple {15410#(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)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:48,614 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:48,614 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-28 12:09:48,614 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-28 12:09:48,615 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:09:48,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:16,073 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-28 12:10:16,073 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-28 12:10:16,074 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:16,074 INFO L272 TraceCheckUtils]: 67: Hoare triple {15470#(= 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)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:16,075 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:16,075 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,075 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,075 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,075 INFO L272 TraceCheckUtils]: 62: Hoare triple {15470#(= 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)); {15239#true} is VALID [2022-04-28 12:10:16,076 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:16,076 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,076 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,076 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,076 INFO L272 TraceCheckUtils]: 57: Hoare triple {15470#(= 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)); {15239#true} is VALID [2022-04-28 12:10:16,076 INFO L290 TraceCheckUtils]: 56: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:16,077 INFO L290 TraceCheckUtils]: 55: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:16,578 INFO L290 TraceCheckUtils]: 54: Hoare triple {15510#(= (+ (* (+ 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; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:10:16,579 INFO L290 TraceCheckUtils]: 53: Hoare triple {15510#(= (+ (* (+ 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); {15510#(= (+ (* (+ 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:16,580 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15517#(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; {15510#(= (+ (* (+ 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:16,580 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:10:16,580 INFO L290 TraceCheckUtils]: 50: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:10:16,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:10:16,581 INFO L272 TraceCheckUtils]: 48: Hoare triple {15517#(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)); {15239#true} is VALID [2022-04-28 12:10:16,581 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15517#(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; {15517#(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:10:16,581 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,581 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,581 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,581 INFO L272 TraceCheckUtils]: 43: Hoare triple {15517#(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)); {15239#true} is VALID [2022-04-28 12:10:16,582 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15517#(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; {15517#(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:10:16,582 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,582 INFO L272 TraceCheckUtils]: 38: Hoare triple {15517#(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)); {15239#true} is VALID [2022-04-28 12:10:16,583 INFO L290 TraceCheckUtils]: 37: Hoare triple {15517#(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 < 5);havoc #t~post6; {15517#(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:10:16,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {15517#(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; {15517#(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:10:16,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {15570#(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; {15517#(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:10:16,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {15570#(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); {15570#(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:10:16,708 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15239#true} #72#return; {15570#(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:10:16,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:10:16,709 INFO L272 TraceCheckUtils]: 29: Hoare triple {15239#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15239#true} #70#return; {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L272 TraceCheckUtils]: 24: Hoare triple {15239#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15239#true} #68#return; {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L272 TraceCheckUtils]: 19: Hoare triple {15239#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {15239#true} assume !!(#t~post6 < 5);havoc #t~post6; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {15239#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#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; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-28 12:10:16,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#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; {15239#true} is VALID [2022-04-28 12:10:16,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-28 12:10:16,711 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:10:16,711 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:16,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [956530400] [2022-04-28 12:10:16,711 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:16,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [597695008] [2022-04-28 12:10:16,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [597695008] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:10:16,711 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:10:16,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:10:16,711 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:16,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1490541403] [2022-04-28 12:10:16,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1490541403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:16,712 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:16,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:10:16,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725475202] [2022-04-28 12:10:16,712 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:16,712 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:10:16,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:16,712 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:10:16,756 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:10:16,756 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:10:16,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:16,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:10:16,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:10:16,757 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:10:17,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:17,726 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-28 12:10:17,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:10:17,726 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:10:17,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:17,727 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:10:17,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:10:17,728 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:10:17,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:10:17,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:10:17,827 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:10:17,831 INFO L225 Difference]: With dead ends: 219 [2022-04-28 12:10:17,831 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 12:10:17,831 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:10:17,832 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 16 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:17,832 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:10:17,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 12:10:18,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-28 12:10:18,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:18,003 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:10:18,004 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:10:18,004 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:10:18,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:18,007 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:10:18,008 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:10:18,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:18,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:18,008 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:10:18,009 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:10:18,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:18,012 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:10:18,012 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:10:18,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:18,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:18,013 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:18,013 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:18,013 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:10:18,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-28 12:10:18,017 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-28 12:10:18,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:18,018 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-28 12:10:18,018 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:10:18,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-28 12:10:18,377 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:10:18,377 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-28 12:10:18,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:10:18,382 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:18,382 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:10:18,400 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:10:18,583 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:10:18,583 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:18,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:18,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-28 12:10:18,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:18,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [115227498] [2022-04-28 12:10:18,584 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:18,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-28 12:10:18,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:18,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2142214524] [2022-04-28 12:10:18,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:18,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:18,594 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:18,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [428847216] [2022-04-28 12:10:18,594 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:10:18,594 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:18,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:18,595 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:10:18,596 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:10:18,646 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:10:18,646 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:18,648 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:10:18,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:18,662 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:10:18,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-28 12:10:18,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#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; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16964#(<= ~counter~0 0)} {16956#true} #82#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,937 INFO L272 TraceCheckUtils]: 4: Hoare triple {16964#(<= ~counter~0 0)} call #t~ret7 := main(); {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {16964#(<= ~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; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,937 INFO L272 TraceCheckUtils]: 6: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,938 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #64#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,939 INFO L272 TraceCheckUtils]: 11: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,939 INFO L290 TraceCheckUtils]: 12: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,940 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #66#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,940 INFO L290 TraceCheckUtils]: 16: Hoare triple {16964#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16964#(<= ~counter~0 0)} is VALID [2022-04-28 12:10:18,941 INFO L290 TraceCheckUtils]: 17: Hoare triple {16964#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {17013#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,942 INFO L272 TraceCheckUtils]: 19: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,942 INFO L290 TraceCheckUtils]: 21: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,943 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #68#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,943 INFO L272 TraceCheckUtils]: 24: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,944 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #70#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,945 INFO L272 TraceCheckUtils]: 29: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,945 INFO L290 TraceCheckUtils]: 30: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,946 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #72#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,946 INFO L290 TraceCheckUtils]: 34: Hoare triple {17013#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,946 INFO L290 TraceCheckUtils]: 35: Hoare triple {17013#(<= ~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; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:18,947 INFO L290 TraceCheckUtils]: 36: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,947 INFO L290 TraceCheckUtils]: 37: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,948 INFO L272 TraceCheckUtils]: 38: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,948 INFO L290 TraceCheckUtils]: 39: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,948 INFO L290 TraceCheckUtils]: 40: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,949 INFO L290 TraceCheckUtils]: 41: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,949 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,949 INFO L272 TraceCheckUtils]: 43: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,950 INFO L290 TraceCheckUtils]: 44: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,950 INFO L290 TraceCheckUtils]: 45: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,951 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,951 INFO L272 TraceCheckUtils]: 48: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,952 INFO L290 TraceCheckUtils]: 50: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,952 INFO L290 TraceCheckUtils]: 51: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,952 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,953 INFO L290 TraceCheckUtils]: 53: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,953 INFO L290 TraceCheckUtils]: 54: Hoare triple {17071#(<= ~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; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:18,954 INFO L290 TraceCheckUtils]: 55: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,954 INFO L290 TraceCheckUtils]: 56: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,954 INFO L272 TraceCheckUtils]: 57: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,955 INFO L290 TraceCheckUtils]: 59: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,955 INFO L290 TraceCheckUtils]: 60: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,956 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,956 INFO L272 TraceCheckUtils]: 62: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,956 INFO L290 TraceCheckUtils]: 63: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,956 INFO L290 TraceCheckUtils]: 64: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,957 INFO L290 TraceCheckUtils]: 65: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,957 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,958 INFO L272 TraceCheckUtils]: 67: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,958 INFO L290 TraceCheckUtils]: 68: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,958 INFO L290 TraceCheckUtils]: 69: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,958 INFO L290 TraceCheckUtils]: 70: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,959 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,959 INFO L290 TraceCheckUtils]: 72: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,959 INFO L290 TraceCheckUtils]: 73: Hoare triple {17129#(<= ~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; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:18,960 INFO L290 TraceCheckUtils]: 74: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17187#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:10:18,960 INFO L290 TraceCheckUtils]: 75: Hoare triple {17187#(<= |main_#t~post6| 3)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-28 12:10:18,960 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-28 12:10:18,960 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-28 12:10:18,960 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-28 12:10:18,960 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-28 12:10:18,961 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:10:18,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:19,247 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-28 12:10:19,247 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-28 12:10:19,247 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-28 12:10:19,247 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-28 12:10:19,248 INFO L290 TraceCheckUtils]: 75: Hoare triple {17215#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-28 12:10:19,251 INFO L290 TraceCheckUtils]: 74: Hoare triple {17219#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17215#(< |main_#t~post6| 5)} is VALID [2022-04-28 12:10:19,252 INFO L290 TraceCheckUtils]: 73: Hoare triple {17219#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,252 INFO L290 TraceCheckUtils]: 72: Hoare triple {17219#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,253 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #72#return; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,253 INFO L290 TraceCheckUtils]: 70: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,253 INFO L290 TraceCheckUtils]: 69: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,253 INFO L290 TraceCheckUtils]: 68: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,253 INFO L272 TraceCheckUtils]: 67: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,254 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #70#return; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,254 INFO L290 TraceCheckUtils]: 65: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,254 INFO L290 TraceCheckUtils]: 63: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,254 INFO L272 TraceCheckUtils]: 62: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,254 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #68#return; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,254 INFO L290 TraceCheckUtils]: 60: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,255 INFO L290 TraceCheckUtils]: 59: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,255 INFO L290 TraceCheckUtils]: 58: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,255 INFO L272 TraceCheckUtils]: 57: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,255 INFO L290 TraceCheckUtils]: 56: Hoare triple {17219#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,256 INFO L290 TraceCheckUtils]: 55: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-28 12:10:19,256 INFO L290 TraceCheckUtils]: 54: Hoare triple {17129#(<= ~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; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,256 INFO L290 TraceCheckUtils]: 53: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,257 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,257 INFO L290 TraceCheckUtils]: 50: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,257 INFO L272 TraceCheckUtils]: 48: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,258 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,258 INFO L290 TraceCheckUtils]: 46: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,258 INFO L290 TraceCheckUtils]: 45: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,258 INFO L290 TraceCheckUtils]: 44: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,258 INFO L272 TraceCheckUtils]: 43: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,259 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,259 INFO L290 TraceCheckUtils]: 41: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,259 INFO L290 TraceCheckUtils]: 40: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,259 INFO L290 TraceCheckUtils]: 39: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,259 INFO L272 TraceCheckUtils]: 38: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,259 INFO L290 TraceCheckUtils]: 37: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-28 12:10:19,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {17071#(<= ~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; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,261 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,261 INFO L272 TraceCheckUtils]: 29: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,262 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,262 INFO L272 TraceCheckUtils]: 24: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,263 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,263 INFO L290 TraceCheckUtils]: 22: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,263 INFO L290 TraceCheckUtils]: 21: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,263 INFO L272 TraceCheckUtils]: 19: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-28 12:10:19,264 INFO L290 TraceCheckUtils]: 16: Hoare triple {17013#(<= ~counter~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,265 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #66#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L272 TraceCheckUtils]: 11: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #64#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-28 12:10:19,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-28 12:10:19,266 INFO L272 TraceCheckUtils]: 6: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-28 12:10:19,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {17013#(<= ~counter~0 1)} 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; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {17013#(<= ~counter~0 1)} call #t~ret7 := main(); {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17013#(<= ~counter~0 1)} {16956#true} #82#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#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; {17013#(<= ~counter~0 1)} is VALID [2022-04-28 12:10:19,267 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-28 12:10:19,268 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:10:19,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:19,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2142214524] [2022-04-28 12:10:19,268 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:19,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [428847216] [2022-04-28 12:10:19,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [428847216] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:10:19,268 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:10:19,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-28 12:10:19,268 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:19,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [115227498] [2022-04-28 12:10:19,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [115227498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:19,268 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:19,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:10:19,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1127955337] [2022-04-28 12:10:19,269 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:19,269 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:10:19,269 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:19,269 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:10:19,312 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:10:19,313 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:10:19,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:19,313 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:10:19,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:10:19,313 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:10:19,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:19,766 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-28 12:10:19,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:10:19,766 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:10:19,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:19,766 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:10:19,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:10:19,768 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:10:19,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:10:19,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 12:10:19,851 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:10:19,855 INFO L225 Difference]: With dead ends: 277 [2022-04-28 12:10:19,855 INFO L226 Difference]: Without dead ends: 250 [2022-04-28 12:10:19,856 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:10:19,856 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:19,856 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:10:19,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-28 12:10:20,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-28 12:10:20,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:20,031 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:10:20,031 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:10:20,031 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:10:20,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:20,035 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:10:20,035 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:10:20,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:20,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:20,036 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:10:20,036 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:10:20,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:20,040 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:10:20,040 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:10:20,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:20,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:20,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:20,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:20,041 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:10:20,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-28 12:10:20,045 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-28 12:10:20,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:20,045 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-28 12:10:20,046 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:10:20,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-28 12:10:20,442 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:10:20,442 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-28 12:10:20,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:10:20,443 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:20,443 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:10:20,460 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:10:20,643 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:10:20,644 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:20,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:20,644 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-28 12:10:20,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:20,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1065591691] [2022-04-28 12:10:20,645 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:20,645 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-28 12:10:20,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:20,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1583071362] [2022-04-28 12:10:20,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:20,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:20,657 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:20,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [784386557] [2022-04-28 12:10:20,658 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:10:20,658 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:20,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:20,659 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:10:20,661 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:10:20,714 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:10:20,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:20,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:10:20,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:20,729 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:10:21,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-28 12:10:21,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#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; {18962#true} is VALID [2022-04-28 12:10:21,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-28 12:10:21,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#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; {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:10:21,487 INFO L290 TraceCheckUtils]: 13: Hoare triple {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:10:21,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:10:21,488 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} {18962#true} #66#return; {19014#(<= 1 main_~y~0)} is VALID [2022-04-28 12:10:21,488 INFO L290 TraceCheckUtils]: 16: Hoare triple {19014#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19018#(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:10:21,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {19018#(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; {19018#(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:10:21,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {19018#(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 < 5);havoc #t~post6; {19018#(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:10:21,489 INFO L272 TraceCheckUtils]: 19: Hoare triple {19018#(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)); {18962#true} is VALID [2022-04-28 12:10:21,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,489 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,489 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,490 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19018#(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; {19018#(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:10:21,490 INFO L272 TraceCheckUtils]: 24: Hoare triple {19018#(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)); {18962#true} is VALID [2022-04-28 12:10:21,490 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,490 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,491 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19018#(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; {19018#(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:10:21,491 INFO L272 TraceCheckUtils]: 29: Hoare triple {19018#(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)); {18962#true} is VALID [2022-04-28 12:10:21,491 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,491 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,491 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,491 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19018#(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; {19018#(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:10:21,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {19018#(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); {19018#(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:10:21,492 INFO L290 TraceCheckUtils]: 35: Hoare triple {19018#(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; {19076#(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:10:21,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {19076#(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; {19076#(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:10:21,493 INFO L290 TraceCheckUtils]: 37: Hoare triple {19076#(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 < 5);havoc #t~post6; {19076#(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:10:21,493 INFO L272 TraceCheckUtils]: 38: Hoare triple {19076#(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)); {18962#true} is VALID [2022-04-28 12:10:21,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,493 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,494 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19076#(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; {19076#(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:10:21,494 INFO L272 TraceCheckUtils]: 43: Hoare triple {19076#(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)); {18962#true} is VALID [2022-04-28 12:10:21,494 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,494 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,494 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,495 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19076#(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; {19076#(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:10:21,495 INFO L272 TraceCheckUtils]: 48: Hoare triple {19076#(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)); {18962#true} is VALID [2022-04-28 12:10:21,495 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,495 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,495 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,495 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19076#(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; {19076#(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:10:21,496 INFO L290 TraceCheckUtils]: 53: Hoare triple {19076#(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); {19076#(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:10:21,497 INFO L290 TraceCheckUtils]: 54: Hoare triple {19076#(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; {19134#(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:10:21,497 INFO L290 TraceCheckUtils]: 55: Hoare triple {19134#(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; {19134#(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:10:21,498 INFO L290 TraceCheckUtils]: 56: Hoare triple {19134#(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 < 5);havoc #t~post6; {19134#(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:10:21,498 INFO L272 TraceCheckUtils]: 57: Hoare triple {19134#(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)); {18962#true} is VALID [2022-04-28 12:10:21,498 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,498 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,498 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,498 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19134#(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; {19134#(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:10:21,498 INFO L272 TraceCheckUtils]: 62: Hoare triple {19134#(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)); {18962#true} is VALID [2022-04-28 12:10:21,498 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19134#(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; {19134#(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:10:21,499 INFO L272 TraceCheckUtils]: 67: Hoare triple {19134#(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)); {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,499 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,500 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19134#(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; {19134#(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:10:21,500 INFO L290 TraceCheckUtils]: 72: Hoare triple {19134#(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); {19134#(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:10:21,501 INFO L290 TraceCheckUtils]: 73: Hoare triple {19134#(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; {19192#(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:10:21,501 INFO L290 TraceCheckUtils]: 74: Hoare triple {19192#(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; {19192#(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:10:21,502 INFO L290 TraceCheckUtils]: 75: Hoare triple {19192#(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 < 5);havoc #t~post6; {19192#(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:10:21,502 INFO L272 TraceCheckUtils]: 76: Hoare triple {19192#(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)); {18962#true} is VALID [2022-04-28 12:10:21,502 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,502 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,502 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,503 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19192#(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; {19192#(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:10:21,503 INFO L272 TraceCheckUtils]: 81: Hoare triple {19192#(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)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:21,503 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:21,504 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-28 12:10:21,504 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-28 12:10:21,504 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:10:21,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:21,894 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-28 12:10:21,895 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-28 12:10:21,895 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:21,896 INFO L272 TraceCheckUtils]: 81: Hoare triple {19237#(= 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)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:21,896 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:21,896 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:21,896 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:21,896 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:21,897 INFO L272 TraceCheckUtils]: 76: Hoare triple {19237#(= 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)); {18962#true} is VALID [2022-04-28 12:10:21,897 INFO L290 TraceCheckUtils]: 75: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:21,897 INFO L290 TraceCheckUtils]: 74: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:22,252 INFO L290 TraceCheckUtils]: 73: Hoare triple {19262#(= (+ 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; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:22,253 INFO L290 TraceCheckUtils]: 72: Hoare triple {19262#(= (+ 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); {19262#(= (+ 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:10:22,253 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19262#(= (+ 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; {19262#(= (+ 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:10:22,253 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,254 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,254 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,254 INFO L272 TraceCheckUtils]: 67: Hoare triple {19262#(= (+ 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)); {18962#true} is VALID [2022-04-28 12:10:22,255 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19262#(= (+ 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; {19262#(= (+ 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:10:22,255 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,255 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,255 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,255 INFO L272 TraceCheckUtils]: 62: Hoare triple {19262#(= (+ 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)); {18962#true} is VALID [2022-04-28 12:10:22,255 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19262#(= (+ 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; {19262#(= (+ 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:10:22,256 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,256 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,256 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,256 INFO L272 TraceCheckUtils]: 57: Hoare triple {19262#(= (+ 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)); {18962#true} is VALID [2022-04-28 12:10:22,256 INFO L290 TraceCheckUtils]: 56: Hoare triple {19262#(= (+ 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 < 5);havoc #t~post6; {19262#(= (+ 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:10:22,257 INFO L290 TraceCheckUtils]: 55: Hoare triple {19262#(= (+ 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; {19262#(= (+ 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:10:22,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {19320#(= (+ (* 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; {19262#(= (+ 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:10:22,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {19320#(= (+ (* 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); {19320#(= (+ (* 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:10:22,494 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19320#(= (+ (* 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; {19320#(= (+ (* 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:10:22,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,494 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,494 INFO L272 TraceCheckUtils]: 48: Hoare triple {19320#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,495 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19320#(= (+ (* 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; {19320#(= (+ (* 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:10:22,495 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,495 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,495 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,495 INFO L272 TraceCheckUtils]: 43: Hoare triple {19320#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,496 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19320#(= (+ (* 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; {19320#(= (+ (* 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:10:22,496 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,496 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,496 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,496 INFO L272 TraceCheckUtils]: 38: Hoare triple {19320#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,496 INFO L290 TraceCheckUtils]: 37: Hoare triple {19320#(= (+ (* 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 < 5);havoc #t~post6; {19320#(= (+ (* 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:10:22,497 INFO L290 TraceCheckUtils]: 36: Hoare triple {19320#(= (+ (* 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; {19320#(= (+ (* 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:10:22,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {19378#(= (+ (* 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; {19320#(= (+ (* 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:10:22,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {19378#(= (+ (* 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); {19378#(= (+ (* 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:10:22,694 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19378#(= (+ (* 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; {19378#(= (+ (* 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:10:22,694 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,694 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,694 INFO L272 TraceCheckUtils]: 29: Hoare triple {19378#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19378#(= (+ (* 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; {19378#(= (+ (* 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:10:22,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L272 TraceCheckUtils]: 24: Hoare triple {19378#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19378#(= (+ (* 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; {19378#(= (+ (* 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:10:22,695 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,695 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,696 INFO L272 TraceCheckUtils]: 19: Hoare triple {19378#(= (+ (* 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)); {18962#true} is VALID [2022-04-28 12:10:22,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {19378#(= (+ (* 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 < 5);havoc #t~post6; {19378#(= (+ (* 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:10:22,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {19378#(= (+ (* 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; {19378#(= (+ (* 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:10:22,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {18962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19378#(= (+ (* 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:10:22,697 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18962#true} {18962#true} #66#return; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#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; {18962#true} is VALID [2022-04-28 12:10:22,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-28 12:10:22,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-28 12:10:22,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-28 12:10:22,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#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; {18962#true} is VALID [2022-04-28 12:10:22,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-28 12:10:22,698 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:10:22,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:22,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1583071362] [2022-04-28 12:10:22,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:22,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [784386557] [2022-04-28 12:10:22,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [784386557] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:10:22,698 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:10:22,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 12:10:22,699 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:22,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1065591691] [2022-04-28 12:10:22,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1065591691] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:22,699 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:22,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:10:22,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [961704183] [2022-04-28 12:10:22,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:22,699 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:10:22,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:22,700 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:10:22,761 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:10:22,761 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:10:22,761 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:22,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:10:22,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:10:22,761 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:10:24,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:24,981 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-28 12:10:24,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:10:24,982 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:10:24,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:24,982 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:10:24,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:10:24,983 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:10:24,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:10:24,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:10:25,095 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:25,099 INFO L225 Difference]: With dead ends: 256 [2022-04-28 12:10:25,099 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 12:10:25,099 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:10:25,100 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 25 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 277 SdHoareTripleChecker+Invalid, 493 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:25,100 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 277 Invalid, 493 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 470 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:10:25,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 12:10:25,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-28 12:10:25,318 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:25,318 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:10:25,318 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:10:25,319 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:10:25,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:25,323 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:10:25,323 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:10:25,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:25,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:25,324 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:10:25,324 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:10:25,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:25,328 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:10:25,328 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:10:25,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:25,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:25,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:25,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:25,329 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:10:25,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-28 12:10:25,333 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-28 12:10:25,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:25,333 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-28 12:10:25,334 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:10:25,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-28 12:10:25,761 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:10:25,761 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-28 12:10:25,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:10:25,762 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:25,762 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:10:25,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 12:10:25,962 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:10:25,962 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:25,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:25,963 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-28 12:10:25,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:25,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [959439598] [2022-04-28 12:10:25,963 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:25,963 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-28 12:10:25,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:25,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763938399] [2022-04-28 12:10:25,963 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:25,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:25,972 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:25,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [230476776] [2022-04-28 12:10:25,972 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:10:25,972 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:25,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:25,973 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:10:25,974 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:10:26,073 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:10:26,074 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:26,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:10:26,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:26,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:10:26,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#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; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#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; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,865 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-28 12:10:26,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21039#(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:26,866 INFO L290 TraceCheckUtils]: 17: Hoare triple {21039#(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; {21039#(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:26,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {21039#(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 < 5);havoc #t~post6; {21039#(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:26,867 INFO L272 TraceCheckUtils]: 19: Hoare triple {21039#(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)); {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21039#(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; {21039#(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:26,867 INFO L272 TraceCheckUtils]: 24: Hoare triple {21039#(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)); {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,867 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,868 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21039#(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; {21039#(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:26,868 INFO L272 TraceCheckUtils]: 29: Hoare triple {21039#(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)); {20986#true} is VALID [2022-04-28 12:10:26,868 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,869 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21039#(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; {21039#(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:26,869 INFO L290 TraceCheckUtils]: 34: Hoare triple {21039#(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); {21039#(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:26,870 INFO L290 TraceCheckUtils]: 35: Hoare triple {21039#(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; {21097#(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:10:26,870 INFO L290 TraceCheckUtils]: 36: Hoare triple {21097#(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; {21097#(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:10:26,871 INFO L290 TraceCheckUtils]: 37: Hoare triple {21097#(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 < 5);havoc #t~post6; {21097#(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:10:26,871 INFO L272 TraceCheckUtils]: 38: Hoare triple {21097#(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)); {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21097#(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; {21097#(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:10:26,871 INFO L272 TraceCheckUtils]: 43: Hoare triple {21097#(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)); {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,871 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,872 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,872 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21097#(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; {21097#(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:10:26,872 INFO L272 TraceCheckUtils]: 48: Hoare triple {21097#(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)); {20986#true} is VALID [2022-04-28 12:10:26,872 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,872 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,872 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,873 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21097#(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; {21097#(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:10:26,873 INFO L290 TraceCheckUtils]: 53: Hoare triple {21097#(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); {21097#(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:10:26,875 INFO L290 TraceCheckUtils]: 54: Hoare triple {21097#(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; {21155#(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:10:26,875 INFO L290 TraceCheckUtils]: 55: Hoare triple {21155#(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; {21155#(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:10:26,876 INFO L290 TraceCheckUtils]: 56: Hoare triple {21155#(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 < 5);havoc #t~post6; {21155#(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:10:26,876 INFO L272 TraceCheckUtils]: 57: Hoare triple {21155#(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)); {20986#true} is VALID [2022-04-28 12:10:26,876 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,876 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,876 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,876 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21155#(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; {21155#(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:10:26,877 INFO L272 TraceCheckUtils]: 62: Hoare triple {21155#(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)); {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21155#(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; {21155#(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:10:26,877 INFO L272 TraceCheckUtils]: 67: Hoare triple {21155#(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)); {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,877 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,878 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21155#(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; {21155#(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:10:26,879 INFO L290 TraceCheckUtils]: 72: Hoare triple {21155#(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); {21155#(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:10:26,880 INFO L290 TraceCheckUtils]: 73: Hoare triple {21155#(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; {21213#(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:10:26,880 INFO L290 TraceCheckUtils]: 74: Hoare triple {21213#(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; {21213#(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:10:26,881 INFO L290 TraceCheckUtils]: 75: Hoare triple {21213#(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 < 5);havoc #t~post6; {21213#(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:10:26,881 INFO L272 TraceCheckUtils]: 76: Hoare triple {21213#(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)); {20986#true} is VALID [2022-04-28 12:10:26,881 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:26,881 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:26,881 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:26,881 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21213#(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; {21213#(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:10:26,882 INFO L272 TraceCheckUtils]: 81: Hoare triple {21213#(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)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:26,882 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:26,883 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-28 12:10:26,883 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-28 12:10:26,883 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:10:26,883 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:27,343 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-28 12:10:27,343 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-28 12:10:27,344 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:10:27,344 INFO L272 TraceCheckUtils]: 81: Hoare triple {21258#(= 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)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:10:27,345 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:27,345 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:27,345 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:27,345 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:27,345 INFO L272 TraceCheckUtils]: 76: Hoare triple {21258#(= 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)); {20986#true} is VALID [2022-04-28 12:10:27,345 INFO L290 TraceCheckUtils]: 75: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:27,346 INFO L290 TraceCheckUtils]: 74: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:10:29,347 WARN L290 TraceCheckUtils]: 73: Hoare triple {21283#(= (+ 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; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 12:10:29,348 INFO L290 TraceCheckUtils]: 72: Hoare triple {21283#(= (+ 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); {21283#(= (+ 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:10:29,349 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21283#(= (+ 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; {21283#(= (+ 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:10:29,349 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,349 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,349 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,349 INFO L272 TraceCheckUtils]: 67: Hoare triple {21283#(= (+ 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)); {20986#true} is VALID [2022-04-28 12:10:29,349 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21283#(= (+ 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; {21283#(= (+ 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:10:29,350 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L272 TraceCheckUtils]: 62: Hoare triple {21283#(= (+ 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)); {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21283#(= (+ 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; {21283#(= (+ 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:10:29,350 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,350 INFO L272 TraceCheckUtils]: 57: Hoare triple {21283#(= (+ 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)); {20986#true} is VALID [2022-04-28 12:10:29,351 INFO L290 TraceCheckUtils]: 56: Hoare triple {21283#(= (+ 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 < 5);havoc #t~post6; {21283#(= (+ 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:10:29,351 INFO L290 TraceCheckUtils]: 55: Hoare triple {21283#(= (+ 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; {21283#(= (+ 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:10:29,425 INFO L290 TraceCheckUtils]: 54: Hoare triple {21341#(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; {21283#(= (+ 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:10:29,426 INFO L290 TraceCheckUtils]: 53: Hoare triple {21341#(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); {21341#(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:10:29,426 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21341#(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; {21341#(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:10:29,426 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,426 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,426 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,427 INFO L272 TraceCheckUtils]: 48: Hoare triple {21341#(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)); {20986#true} is VALID [2022-04-28 12:10:29,427 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21341#(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; {21341#(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:10:29,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,427 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,427 INFO L272 TraceCheckUtils]: 43: Hoare triple {21341#(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)); {20986#true} is VALID [2022-04-28 12:10:29,428 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21341#(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; {21341#(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:10:29,428 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:29,428 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:29,428 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:29,428 INFO L272 TraceCheckUtils]: 38: Hoare triple {21341#(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)); {20986#true} is VALID [2022-04-28 12:10:29,429 INFO L290 TraceCheckUtils]: 37: Hoare triple {21341#(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 < 5);havoc #t~post6; {21341#(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:10:29,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {21341#(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; {21341#(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:10:31,431 WARN L290 TraceCheckUtils]: 35: Hoare triple {21399#(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; {21341#(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 UNKNOWN [2022-04-28 12:10:31,432 INFO L290 TraceCheckUtils]: 34: Hoare triple {21399#(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); {21399#(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:10:31,432 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21399#(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; {21399#(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:10:31,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:31,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:31,433 INFO L272 TraceCheckUtils]: 29: Hoare triple {21399#(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)); {20986#true} is VALID [2022-04-28 12:10:31,433 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21399#(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; {21399#(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:10:31,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:31,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:31,433 INFO L272 TraceCheckUtils]: 24: Hoare triple {21399#(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)); {20986#true} is VALID [2022-04-28 12:10:31,434 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21399#(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; {21399#(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:10:31,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:31,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:31,434 INFO L272 TraceCheckUtils]: 19: Hoare triple {21399#(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)); {20986#true} is VALID [2022-04-28 12:10:31,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {21399#(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 < 5);havoc #t~post6; {21399#(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:10:31,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {21399#(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; {21399#(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:10:31,436 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21399#(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:10:31,436 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#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; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#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; {20986#true} is VALID [2022-04-28 12:10:31,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-28 12:10:31,437 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:10:31,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:10:31,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763938399] [2022-04-28 12:10:31,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:10:31,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [230476776] [2022-04-28 12:10:31,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [230476776] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:10:31,438 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:10:31,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:10:31,438 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:10:31,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [959439598] [2022-04-28 12:10:31,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [959439598] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:10:31,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:10:31,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:10:31,438 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1147432371] [2022-04-28 12:10:31,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:10:31,438 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:10:31,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:10:31,439 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:10:31,494 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:10:31,495 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:10:31,495 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:31,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:10:31,495 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:10:31,495 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:10:33,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:33,109 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-28 12:10:33,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:10:33,109 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:10:33,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:10:33,109 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:10:33,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:10:33,110 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:10:33,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:10:33,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-28 12:10:33,237 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:33,242 INFO L225 Difference]: With dead ends: 286 [2022-04-28 12:10:33,242 INFO L226 Difference]: Without dead ends: 284 [2022-04-28 12:10:33,242 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:10:33,242 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:10:33,243 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 12:10:33,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-28 12:10:33,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-28 12:10:33,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:10:33,489 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:10:33,489 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:10:33,490 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:10:33,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:33,494 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:10:33,494 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:10:33,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:33,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:33,496 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:10:33,496 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:10:33,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:10:33,500 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:10:33,500 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:10:33,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:10:33,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:10:33,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:10:33,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:10:33,501 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:10:33,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-28 12:10:33,507 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-28 12:10:33,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:10:33,507 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-28 12:10:33,507 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:10:33,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-28 12:10:34,037 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:10:34,037 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-28 12:10:34,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:10:34,038 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:10:34,038 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:10:34,058 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-28 12:10:34,243 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:10:34,243 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:10:34,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:10:34,244 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-28 12:10:34,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:10:34,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2011435402] [2022-04-28 12:10:34,245 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:10:34,245 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-28 12:10:34,245 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:10:34,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472277849] [2022-04-28 12:10:34,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:10:34,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:10:34,254 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:10:34,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [335119168] [2022-04-28 12:10:34,254 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:10:34,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:10:34,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:10:34,255 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:10:34,256 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:10:34,301 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:10:34,301 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:10:34,303 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 12:10:34,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:10:34,323 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:11:08,692 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#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; {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#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; {23185#true} is VALID [2022-04-28 12:11:08,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,693 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-28 12:11:08,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23238#(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:11:08,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {23238#(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; {23238#(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:11:08,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {23238#(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 < 5);havoc #t~post6; {23238#(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:11:08,704 INFO L272 TraceCheckUtils]: 19: Hoare triple {23238#(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)); {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23238#(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; {23238#(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:11:08,705 INFO L272 TraceCheckUtils]: 24: Hoare triple {23238#(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)); {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,706 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23238#(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; {23238#(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:11:08,706 INFO L272 TraceCheckUtils]: 29: Hoare triple {23238#(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)); {23185#true} is VALID [2022-04-28 12:11:08,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,706 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,707 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23238#(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; {23238#(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:11:08,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {23238#(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); {23238#(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:11:08,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {23238#(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; {23296#(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:11:08,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {23296#(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; {23296#(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:11:08,709 INFO L290 TraceCheckUtils]: 37: Hoare triple {23296#(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 < 5);havoc #t~post6; {23296#(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:11:08,709 INFO L272 TraceCheckUtils]: 38: Hoare triple {23296#(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)); {23185#true} is VALID [2022-04-28 12:11:08,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,709 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23296#(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; {23296#(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:11:08,709 INFO L272 TraceCheckUtils]: 43: Hoare triple {23296#(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)); {23185#true} is VALID [2022-04-28 12:11:08,709 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23296#(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; {23296#(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:11:08,710 INFO L272 TraceCheckUtils]: 48: Hoare triple {23296#(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)); {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,710 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,711 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23296#(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; {23296#(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:11:08,711 INFO L290 TraceCheckUtils]: 53: Hoare triple {23296#(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); {23296#(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:11:08,713 INFO L290 TraceCheckUtils]: 54: Hoare triple {23296#(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; {23354#(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:11:08,714 INFO L290 TraceCheckUtils]: 55: Hoare triple {23354#(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; {23354#(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:11:08,714 INFO L290 TraceCheckUtils]: 56: Hoare triple {23354#(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 < 5);havoc #t~post6; {23354#(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:11:08,715 INFO L272 TraceCheckUtils]: 57: Hoare triple {23354#(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)); {23185#true} is VALID [2022-04-28 12:11:08,715 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,715 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,715 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23354#(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; {23354#(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:11:08,715 INFO L272 TraceCheckUtils]: 62: Hoare triple {23354#(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)); {23185#true} is VALID [2022-04-28 12:11:08,716 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:08,716 INFO L290 TraceCheckUtils]: 64: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:08,716 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:08,717 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23354#(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; {23393#(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:11:08,717 INFO L272 TraceCheckUtils]: 67: Hoare triple {23393#(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)); {23185#true} is VALID [2022-04-28 12:11:08,717 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:08,718 INFO L290 TraceCheckUtils]: 69: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:08,718 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:08,719 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23393#(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; {23393#(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:11:08,719 INFO L290 TraceCheckUtils]: 72: Hoare triple {23393#(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); {23393#(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:11:08,723 INFO L290 TraceCheckUtils]: 73: Hoare triple {23393#(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; {23415#(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:11:08,724 INFO L290 TraceCheckUtils]: 74: Hoare triple {23415#(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; {23415#(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:11:08,725 INFO L290 TraceCheckUtils]: 75: Hoare triple {23415#(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 < 5);havoc #t~post6; {23415#(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:11:08,725 INFO L272 TraceCheckUtils]: 76: Hoare triple {23415#(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)); {23185#true} is VALID [2022-04-28 12:11:08,725 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:08,725 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:08,725 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:08,726 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23415#(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; {23415#(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:11:08,728 INFO L272 TraceCheckUtils]: 81: Hoare triple {23415#(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)); {23440#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:11:08,728 INFO L290 TraceCheckUtils]: 82: Hoare triple {23440#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:08,729 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-28 12:11:08,729 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-28 12:11:08,729 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:11:08,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:11:37,415 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-28 12:11:37,416 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-28 12:11:37,416 INFO L290 TraceCheckUtils]: 82: Hoare triple {23440#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:37,417 INFO L272 TraceCheckUtils]: 81: Hoare triple {23460#(= 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)); {23440#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:11:37,417 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:11:37,417 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,417 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,417 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,417 INFO L272 TraceCheckUtils]: 76: Hoare triple {23460#(= 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)); {23185#true} is VALID [2022-04-28 12:11:37,418 INFO L290 TraceCheckUtils]: 75: Hoare triple {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:11:37,418 INFO L290 TraceCheckUtils]: 74: Hoare triple {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:11:37,683 INFO L290 TraceCheckUtils]: 73: Hoare triple {23485#(= (+ 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; {23460#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:11:37,683 INFO L290 TraceCheckUtils]: 72: Hoare triple {23485#(= (+ 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); {23485#(= (+ 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:11:37,684 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23492#(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; {23485#(= (+ 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:11:37,685 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:37,685 INFO L290 TraceCheckUtils]: 69: Hoare triple {23502#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:37,685 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23502#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:11:37,685 INFO L272 TraceCheckUtils]: 67: Hoare triple {23492#(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)); {23185#true} is VALID [2022-04-28 12:11:37,687 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23185#true} #70#return; {23492#(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:11:37,687 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 64: Hoare triple {23502#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23502#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:11:37,688 INFO L272 TraceCheckUtils]: 62: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L272 TraceCheckUtils]: 57: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 56: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 55: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,688 INFO L290 TraceCheckUtils]: 54: Hoare triple {23185#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 53: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L272 TraceCheckUtils]: 48: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L272 TraceCheckUtils]: 43: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L272 TraceCheckUtils]: 38: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,689 INFO L290 TraceCheckUtils]: 35: Hoare triple {23185#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L272 TraceCheckUtils]: 29: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L272 TraceCheckUtils]: 24: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L272 TraceCheckUtils]: 19: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,690 INFO L290 TraceCheckUtils]: 17: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#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; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#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; {23185#true} is VALID [2022-04-28 12:11:37,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-28 12:11:37,692 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:11:37,692 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:11:37,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472277849] [2022-04-28 12:11:37,692 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:11:37,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [335119168] [2022-04-28 12:11:37,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [335119168] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:11:37,692 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:11:37,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 12:11:37,692 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:11:37,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2011435402] [2022-04-28 12:11:37,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2011435402] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:11:37,692 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:11:37,693 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:11:37,693 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [971302991] [2022-04-28 12:11:37,693 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:11:37,693 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:11:37,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:11:37,693 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:11:37,758 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:11:37,758 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:11:37,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:11:37,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:11:37,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:11:37,759 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:11:42,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:42,694 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-28 12:11:42,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:11:42,694 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:11:42,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:11:42,694 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:11:42,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:11:42,696 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:11:42,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:11:42,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:11:42,817 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:11:42,822 INFO L225 Difference]: With dead ends: 297 [2022-04-28 12:11:42,823 INFO L226 Difference]: Without dead ends: 295 [2022-04-28 12:11:42,823 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:11:42,823 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 15 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 417 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 417 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:11:42,824 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 219 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 417 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 12:11:42,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-28 12:11:43,072 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-28 12:11:43,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:11:43,073 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:11:43,073 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:11:43,073 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:11:43,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:43,079 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:11:43,079 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:11:43,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:11:43,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:11:43,080 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:11:43,081 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:11:43,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:43,086 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:11:43,086 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:11:43,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:11:43,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:11:43,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:11:43,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:11:43,087 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:11:43,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-28 12:11:43,091 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-28 12:11:43,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:11:43,092 INFO L495 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-28 12:11:43,092 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:11:43,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-28 12:11:43,658 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:11:43,658 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-28 12:11:43,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:11:43,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:11:43,660 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:11:43,692 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 12:11:43,878 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:11:43,878 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:11:43,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:11:43,879 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-28 12:11:43,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:11:43,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1175681428] [2022-04-28 12:11:43,880 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:11:43,880 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-28 12:11:43,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:11:43,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [369154031] [2022-04-28 12:11:43,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:11:43,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:11:43,896 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:11:43,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [104444572] [2022-04-28 12:11:43,896 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:11:43,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:11:43,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:11:43,897 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:11:43,898 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:11:43,976 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:11:43,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:11:43,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:11:44,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:11:44,010 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:11:44,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {25395#true} call ULTIMATE.init(); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {25395#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; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25395#true} {25395#true} #82#return; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {25395#true} call #t~ret7 := main(); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {25395#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; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L272 TraceCheckUtils]: 6: Hoare triple {25395#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25395#true} {25395#true} #64#return; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L272 TraceCheckUtils]: 11: Hoare triple {25395#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 13: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,414 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25395#true} {25395#true} #66#return; {25395#true} is VALID [2022-04-28 12:11:44,415 INFO L290 TraceCheckUtils]: 16: Hoare triple {25395#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,416 INFO L272 TraceCheckUtils]: 19: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,416 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,416 INFO L272 TraceCheckUtils]: 24: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {25395#true} ~cond := #in~cond; {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:44,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,418 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,418 INFO L272 TraceCheckUtils]: 29: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,419 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,419 INFO L290 TraceCheckUtils]: 35: Hoare triple {25448#(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; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,420 INFO L272 TraceCheckUtils]: 38: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,420 INFO L290 TraceCheckUtils]: 39: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,420 INFO L290 TraceCheckUtils]: 41: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,421 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,421 INFO L272 TraceCheckUtils]: 43: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,421 INFO L290 TraceCheckUtils]: 44: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,421 INFO L290 TraceCheckUtils]: 45: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,421 INFO L290 TraceCheckUtils]: 46: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,421 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,422 INFO L272 TraceCheckUtils]: 48: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,422 INFO L290 TraceCheckUtils]: 49: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,422 INFO L290 TraceCheckUtils]: 50: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,422 INFO L290 TraceCheckUtils]: 51: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,422 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,423 INFO L290 TraceCheckUtils]: 53: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,423 INFO L290 TraceCheckUtils]: 54: Hoare triple {25448#(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; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,423 INFO L290 TraceCheckUtils]: 55: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,424 INFO L290 TraceCheckUtils]: 56: Hoare triple {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,424 INFO L272 TraceCheckUtils]: 57: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,424 INFO L290 TraceCheckUtils]: 58: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,424 INFO L290 TraceCheckUtils]: 59: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,424 INFO L290 TraceCheckUtils]: 60: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,424 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,425 INFO L272 TraceCheckUtils]: 62: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,425 INFO L290 TraceCheckUtils]: 63: Hoare triple {25395#true} ~cond := #in~cond; {25395#true} is VALID [2022-04-28 12:11:44,425 INFO L290 TraceCheckUtils]: 64: Hoare triple {25395#true} assume !(0 == ~cond); {25395#true} is VALID [2022-04-28 12:11:44,425 INFO L290 TraceCheckUtils]: 65: Hoare triple {25395#true} assume true; {25395#true} is VALID [2022-04-28 12:11:44,425 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25395#true} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:44,425 INFO L272 TraceCheckUtils]: 67: Hoare triple {25448#(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)); {25395#true} is VALID [2022-04-28 12:11:44,425 INFO L290 TraceCheckUtils]: 68: Hoare triple {25395#true} ~cond := #in~cond; {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:44,426 INFO L290 TraceCheckUtils]: 69: Hoare triple {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,426 INFO L290 TraceCheckUtils]: 70: Hoare triple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,427 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} {25448#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25616#(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:11:44,427 INFO L290 TraceCheckUtils]: 72: Hoare triple {25616#(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); {25616#(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:11:44,428 INFO L290 TraceCheckUtils]: 73: Hoare triple {25616#(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; {25623#(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:11:44,428 INFO L290 TraceCheckUtils]: 74: Hoare triple {25623#(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; {25623#(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:11:44,429 INFO L290 TraceCheckUtils]: 75: Hoare triple {25623#(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 < 5);havoc #t~post6; {25623#(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:11:44,429 INFO L272 TraceCheckUtils]: 76: Hoare triple {25623#(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)); {25395#true} is VALID [2022-04-28 12:11:44,429 INFO L290 TraceCheckUtils]: 77: Hoare triple {25395#true} ~cond := #in~cond; {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:44,429 INFO L290 TraceCheckUtils]: 78: Hoare triple {25476#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,430 INFO L290 TraceCheckUtils]: 79: Hoare triple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:44,446 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25480#(not (= |__VERIFIER_assert_#in~cond| 0))} {25623#(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; {25645#(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:11:44,447 INFO L272 TraceCheckUtils]: 81: Hoare triple {25645#(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)); {25649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:11:44,447 INFO L290 TraceCheckUtils]: 82: Hoare triple {25649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:44,448 INFO L290 TraceCheckUtils]: 83: Hoare triple {25653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25396#false} is VALID [2022-04-28 12:11:44,448 INFO L290 TraceCheckUtils]: 84: Hoare triple {25396#false} assume !false; {25396#false} is VALID [2022-04-28 12:11:44,448 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:11:44,448 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:13:17,487 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:13:25,121 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:13:35,627 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse5 (+ (* (- 1) c_main_~q~0) c_main_~p~0))) (let ((.cse0 (= c_main_~y~0 0)) (.cse4 (+ c_main_~b~0 (* (- 1) c_main_~q~0 c_main_~x~0))) (.cse1 (* .cse5 c_main_~x~0)) (.cse3 (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (and (let ((.cse6 (div .cse4 c_main_~y~0))) (let ((.cse2 (+ c_main_~r~0 (* (- 1) .cse6)))) (or .cse0 (= (+ .cse1 (* .cse2 c_main_~y~0)) .cse3) (not (= (mod .cse4 c_main_~y~0) 0)) (not (= (+ (* c_main_~q~0 .cse2) 1) (* .cse5 .cse6)))))) (or (not .cse0) (not (= .cse4 0)) (let ((.cse8 (= c_main_~p~0 0)) (.cse7 (+ (* c_main_~q~0 c_main_~r~0) 1))) (and (or (not (= .cse7 0)) (forall ((main_~s~0 Int)) (= (+ (* (+ (* (- 1) c_main_~q~0) c_main_~p~0) c_main_~x~0) (* (+ (* (- 1) main_~s~0) c_main_~r~0) c_main_~y~0)) (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (not .cse8)) (or .cse8 (not (= (mod .cse7 c_main_~p~0) 0)) (= (+ .cse1 (* (+ c_main_~r~0 (* (div .cse7 c_main_~p~0) (- 1))) c_main_~y~0)) .cse3)))))))) is different from true [2022-04-28 12:13:35,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:13:35,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [369154031] [2022-04-28 12:13:35,634 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:13:35,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [104444572] [2022-04-28 12:13:35,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [104444572] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:13:35,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:13:35,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 12:13:35,637 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:13:35,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1175681428] [2022-04-28 12:13:35,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1175681428] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:13:35,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:13:35,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:13:35,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353095207] [2022-04-28 12:13:35,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:13:35,637 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:13:35,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:13:35,638 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:13:35,680 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:13:35,681 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:13:35,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:35,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:13:35,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=143, Unknown=1, NotChecked=24, Total=210 [2022-04-28 12:13:35,681 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:13:38,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:38,275 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-28 12:13:38,275 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:13:38,275 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:13:38,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:13:38,275 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:13:38,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:13:38,277 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:13:38,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:13:38,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-28 12:13:38,427 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:13:38,432 INFO L225 Difference]: With dead ends: 315 [2022-04-28 12:13:38,432 INFO L226 Difference]: Without dead ends: 309 [2022-04-28 12:13:38,433 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=61, Invalid=214, Unknown=1, NotChecked=30, Total=306 [2022-04-28 12:13:38,434 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 408 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:13:38,434 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 12:13:38,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-28 12:13:38,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-28 12:13:38,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:13:38,675 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:13:38,675 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:13:38,676 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:13:38,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:38,681 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:13:38,681 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:13:38,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:38,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:38,682 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:13:38,682 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:13:38,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:38,688 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:13:38,688 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:13:38,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:38,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:38,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:13:38,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:13:38,689 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:13:38,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-28 12:13:38,694 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-28 12:13:38,694 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:13:38,694 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-28 12:13:38,694 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:13:38,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-28 12:13:39,423 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:13:39,424 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-28 12:13:39,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:13:39,424 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:13:39,424 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:13:39,443 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:13:39,639 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:13:39,639 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:13:39,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:13:39,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-28 12:13:39,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:39,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [343287361] [2022-04-28 12:13:39,640 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:13:39,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-28 12:13:39,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:13:39,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372420990] [2022-04-28 12:13:39,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:13:39,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:13:39,651 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:13:39,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [411770766] [2022-04-28 12:13:39,651 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:13:39,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:13:39,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:13:39,653 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:13:39,653 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:13:39,757 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:13:39,757 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:13:39,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:13:39,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:39,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:13:40,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {27490#true} call ULTIMATE.init(); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {27490#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; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27490#true} {27490#true} #82#return; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {27490#true} call #t~ret7 := main(); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {27490#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; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L272 TraceCheckUtils]: 6: Hoare triple {27490#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27490#true} {27490#true} #64#return; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L272 TraceCheckUtils]: 11: Hoare triple {27490#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,859 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27490#true} {27490#true} #66#return; {27490#true} is VALID [2022-04-28 12:13:40,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {27490#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27543#(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:13:40,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {27543#(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; {27543#(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:13:40,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {27543#(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 < 5);havoc #t~post6; {27543#(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:13:40,860 INFO L272 TraceCheckUtils]: 19: Hoare triple {27543#(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)); {27490#true} is VALID [2022-04-28 12:13:40,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,861 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27490#true} {27543#(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; {27543#(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:13:40,861 INFO L272 TraceCheckUtils]: 24: Hoare triple {27543#(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)); {27490#true} is VALID [2022-04-28 12:13:40,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,861 INFO L290 TraceCheckUtils]: 27: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,861 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27490#true} {27543#(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; {27543#(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:13:40,862 INFO L272 TraceCheckUtils]: 29: Hoare triple {27543#(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)); {27490#true} is VALID [2022-04-28 12:13:40,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,862 INFO L290 TraceCheckUtils]: 32: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,862 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27490#true} {27543#(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; {27543#(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:13:40,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {27543#(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); {27543#(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:13:40,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {27543#(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; {27601#(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:13:40,864 INFO L290 TraceCheckUtils]: 36: Hoare triple {27601#(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; {27601#(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:13:40,864 INFO L290 TraceCheckUtils]: 37: Hoare triple {27601#(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 < 5);havoc #t~post6; {27601#(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:13:40,864 INFO L272 TraceCheckUtils]: 38: Hoare triple {27601#(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)); {27490#true} is VALID [2022-04-28 12:13:40,864 INFO L290 TraceCheckUtils]: 39: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,864 INFO L290 TraceCheckUtils]: 40: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,864 INFO L290 TraceCheckUtils]: 41: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,865 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27490#true} {27601#(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; {27601#(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:13:40,865 INFO L272 TraceCheckUtils]: 43: Hoare triple {27601#(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)); {27490#true} is VALID [2022-04-28 12:13:40,865 INFO L290 TraceCheckUtils]: 44: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,865 INFO L290 TraceCheckUtils]: 45: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,865 INFO L290 TraceCheckUtils]: 46: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,866 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27490#true} {27601#(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; {27601#(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:13:40,866 INFO L272 TraceCheckUtils]: 48: Hoare triple {27601#(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)); {27490#true} is VALID [2022-04-28 12:13:40,866 INFO L290 TraceCheckUtils]: 49: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,866 INFO L290 TraceCheckUtils]: 50: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,866 INFO L290 TraceCheckUtils]: 51: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,867 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27490#true} {27601#(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; {27601#(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:13:40,867 INFO L290 TraceCheckUtils]: 53: Hoare triple {27601#(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); {27601#(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:13:40,868 INFO L290 TraceCheckUtils]: 54: Hoare triple {27601#(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; {27659#(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:13:40,869 INFO L290 TraceCheckUtils]: 55: Hoare triple {27659#(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; {27659#(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:13:40,869 INFO L290 TraceCheckUtils]: 56: Hoare triple {27659#(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 < 5);havoc #t~post6; {27659#(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:13:40,869 INFO L272 TraceCheckUtils]: 57: Hoare triple {27659#(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)); {27490#true} is VALID [2022-04-28 12:13:40,869 INFO L290 TraceCheckUtils]: 58: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L290 TraceCheckUtils]: 59: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L290 TraceCheckUtils]: 60: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27490#true} {27659#(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; {27659#(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:13:40,870 INFO L272 TraceCheckUtils]: 62: Hoare triple {27659#(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)); {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L290 TraceCheckUtils]: 63: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L290 TraceCheckUtils]: 64: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,870 INFO L290 TraceCheckUtils]: 65: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,871 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27490#true} {27659#(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; {27659#(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:13:40,871 INFO L272 TraceCheckUtils]: 67: Hoare triple {27659#(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)); {27490#true} is VALID [2022-04-28 12:13:40,871 INFO L290 TraceCheckUtils]: 68: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,871 INFO L290 TraceCheckUtils]: 69: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,871 INFO L290 TraceCheckUtils]: 70: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,872 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27490#true} {27659#(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; {27659#(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:13:40,872 INFO L290 TraceCheckUtils]: 72: Hoare triple {27659#(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); {27714#(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:13:40,874 INFO L290 TraceCheckUtils]: 73: Hoare triple {27714#(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; {27718#(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:13:40,874 INFO L290 TraceCheckUtils]: 74: Hoare triple {27718#(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; {27718#(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:13:40,875 INFO L290 TraceCheckUtils]: 75: Hoare triple {27718#(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 < 5);havoc #t~post6; {27718#(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:13:40,875 INFO L272 TraceCheckUtils]: 76: Hoare triple {27718#(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)); {27490#true} is VALID [2022-04-28 12:13:40,875 INFO L290 TraceCheckUtils]: 77: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,875 INFO L290 TraceCheckUtils]: 78: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,875 INFO L290 TraceCheckUtils]: 79: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,876 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27490#true} {27718#(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; {27718#(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:13:40,876 INFO L272 TraceCheckUtils]: 81: Hoare triple {27718#(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)); {27490#true} is VALID [2022-04-28 12:13:40,876 INFO L290 TraceCheckUtils]: 82: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:40,876 INFO L290 TraceCheckUtils]: 83: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:40,876 INFO L290 TraceCheckUtils]: 84: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:40,877 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27490#true} {27718#(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; {27718#(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:13:40,877 INFO L272 TraceCheckUtils]: 86: Hoare triple {27718#(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)); {27758#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:13:40,878 INFO L290 TraceCheckUtils]: 87: Hoare triple {27758#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27762#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:13:40,878 INFO L290 TraceCheckUtils]: 88: Hoare triple {27762#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27491#false} is VALID [2022-04-28 12:13:40,878 INFO L290 TraceCheckUtils]: 89: Hoare triple {27491#false} assume !false; {27491#false} is VALID [2022-04-28 12:13:40,878 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:13:40,878 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:13:41,612 INFO L290 TraceCheckUtils]: 89: Hoare triple {27491#false} assume !false; {27491#false} is VALID [2022-04-28 12:13:41,613 INFO L290 TraceCheckUtils]: 88: Hoare triple {27762#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27491#false} is VALID [2022-04-28 12:13:41,614 INFO L290 TraceCheckUtils]: 87: Hoare triple {27758#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27762#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:13:41,615 INFO L272 TraceCheckUtils]: 86: Hoare triple {27778#(= 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)); {27758#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:13:41,615 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27490#true} {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:41,615 INFO L290 TraceCheckUtils]: 84: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,615 INFO L290 TraceCheckUtils]: 83: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,615 INFO L290 TraceCheckUtils]: 82: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,615 INFO L272 TraceCheckUtils]: 81: Hoare triple {27778#(= 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)); {27490#true} is VALID [2022-04-28 12:13:41,616 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27490#true} {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:41,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,616 INFO L272 TraceCheckUtils]: 76: Hoare triple {27778#(= 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)); {27490#true} is VALID [2022-04-28 12:13:41,616 INFO L290 TraceCheckUtils]: 75: Hoare triple {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:41,617 INFO L290 TraceCheckUtils]: 74: Hoare triple {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:41,788 INFO L290 TraceCheckUtils]: 73: Hoare triple {27818#(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; {27778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:41,789 INFO L290 TraceCheckUtils]: 72: Hoare triple {27822#(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); {27818#(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:13:41,789 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27490#true} {27822#(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; {27822#(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:13:41,790 INFO L290 TraceCheckUtils]: 70: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,790 INFO L290 TraceCheckUtils]: 69: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,790 INFO L290 TraceCheckUtils]: 68: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,790 INFO L272 TraceCheckUtils]: 67: Hoare triple {27822#(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)); {27490#true} is VALID [2022-04-28 12:13:41,790 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27490#true} {27822#(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; {27822#(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:13:41,790 INFO L290 TraceCheckUtils]: 65: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,790 INFO L290 TraceCheckUtils]: 64: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L290 TraceCheckUtils]: 63: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L272 TraceCheckUtils]: 62: Hoare triple {27822#(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)); {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27490#true} {27822#(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; {27822#(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:13:41,791 INFO L290 TraceCheckUtils]: 60: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L290 TraceCheckUtils]: 59: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L290 TraceCheckUtils]: 58: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,791 INFO L272 TraceCheckUtils]: 57: Hoare triple {27822#(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)); {27490#true} is VALID [2022-04-28 12:13:41,792 INFO L290 TraceCheckUtils]: 56: Hoare triple {27822#(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 < 5);havoc #t~post6; {27822#(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:13:41,792 INFO L290 TraceCheckUtils]: 55: Hoare triple {27822#(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; {27822#(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:13:41,947 INFO L290 TraceCheckUtils]: 54: Hoare triple {27877#(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; {27822#(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:13:41,948 INFO L290 TraceCheckUtils]: 53: Hoare triple {27877#(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); {27877#(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:13:41,949 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27490#true} {27877#(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; {27877#(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:13:41,949 INFO L290 TraceCheckUtils]: 51: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,949 INFO L290 TraceCheckUtils]: 50: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,949 INFO L272 TraceCheckUtils]: 48: Hoare triple {27877#(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)); {27490#true} is VALID [2022-04-28 12:13:41,950 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27490#true} {27877#(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; {27877#(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:13:41,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,950 INFO L290 TraceCheckUtils]: 45: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,950 INFO L290 TraceCheckUtils]: 44: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,950 INFO L272 TraceCheckUtils]: 43: Hoare triple {27877#(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)); {27490#true} is VALID [2022-04-28 12:13:41,950 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27490#true} {27877#(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; {27877#(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:13:41,951 INFO L290 TraceCheckUtils]: 41: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:41,951 INFO L290 TraceCheckUtils]: 40: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:41,951 INFO L290 TraceCheckUtils]: 39: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:41,951 INFO L272 TraceCheckUtils]: 38: Hoare triple {27877#(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)); {27490#true} is VALID [2022-04-28 12:13:41,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {27877#(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 < 5);havoc #t~post6; {27877#(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:13:41,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {27877#(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; {27877#(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:13:43,954 WARN L290 TraceCheckUtils]: 35: Hoare triple {27935#(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; {27877#(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 UNKNOWN [2022-04-28 12:13:43,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {27935#(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); {27935#(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:13:43,956 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27490#true} {27935#(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; {27935#(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:13:43,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:43,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:43,956 INFO L272 TraceCheckUtils]: 29: Hoare triple {27935#(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)); {27490#true} is VALID [2022-04-28 12:13:43,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27490#true} {27935#(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; {27935#(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:13:43,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L290 TraceCheckUtils]: 26: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L272 TraceCheckUtils]: 24: Hoare triple {27935#(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)); {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27490#true} {27935#(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; {27935#(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:13:43,957 INFO L290 TraceCheckUtils]: 22: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L290 TraceCheckUtils]: 21: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:43,957 INFO L272 TraceCheckUtils]: 19: Hoare triple {27935#(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)); {27490#true} is VALID [2022-04-28 12:13:43,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {27935#(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 < 5);havoc #t~post6; {27935#(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:13:43,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {27935#(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; {27935#(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:13:43,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {27490#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27935#(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:13:43,959 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27490#true} {27490#true} #66#return; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L272 TraceCheckUtils]: 11: Hoare triple {27490#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27490#true} {27490#true} #64#return; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 9: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 8: Hoare triple {27490#true} assume !(0 == ~cond); {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L290 TraceCheckUtils]: 7: Hoare triple {27490#true} ~cond := #in~cond; {27490#true} is VALID [2022-04-28 12:13:43,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {27490#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L290 TraceCheckUtils]: 5: Hoare triple {27490#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; {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L272 TraceCheckUtils]: 4: Hoare triple {27490#true} call #t~ret7 := main(); {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27490#true} {27490#true} #82#return; {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {27490#true} assume true; {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {27490#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; {27490#true} is VALID [2022-04-28 12:13:43,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {27490#true} call ULTIMATE.init(); {27490#true} is VALID [2022-04-28 12:13:43,960 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:13:43,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:13:43,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372420990] [2022-04-28 12:13:43,960 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:13:43,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411770766] [2022-04-28 12:13:43,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411770766] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:13:43,961 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:13:43,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:13:43,961 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:13:43,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [343287361] [2022-04-28 12:13:43,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [343287361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:13:43,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:13:43,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:13:43,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751721749] [2022-04-28 12:13:43,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:13:43,962 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:13:43,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:13:43,962 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:13:44,024 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:13:44,024 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:13:44,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:44,024 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:13:44,024 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:13:44,025 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:13:45,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:46,000 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-28 12:13:46,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:13:46,000 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:13:46,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:13:46,000 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:13:46,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:13:46,001 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:13:46,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:13:46,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 12:13:46,131 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:13:46,136 INFO L225 Difference]: With dead ends: 291 [2022-04-28 12:13:46,136 INFO L226 Difference]: Without dead ends: 285 [2022-04-28 12:13:46,137 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:13:46,137 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 297 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 297 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:13:46,137 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 297 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:13:46,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-28 12:13:46,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-28 12:13:46,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:13:46,437 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:13:46,437 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:13:46,438 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:13:46,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:46,442 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:13:46,442 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:13:46,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:46,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:46,443 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:13:46,443 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:13:46,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:46,447 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:13:46,448 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:13:46,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:46,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:46,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:13:46,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:13:46,449 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:13:46,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-28 12:13:46,453 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-28 12:13:46,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:13:46,453 INFO L495 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-28 12:13:46,453 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:13:46,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-28 12:13:47,155 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:13:47,155 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-28 12:13:47,156 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:13:47,156 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:13:47,156 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:13:47,174 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 12:13:47,356 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:13:47,357 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:13:47,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:13:47,357 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-28 12:13:47,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:47,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [387214841] [2022-04-28 12:13:47,358 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:13:47,358 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-28 12:13:47,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:13:47,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1796467531] [2022-04-28 12:13:47,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:13:47,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:13:47,367 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:13:47,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1584802967] [2022-04-28 12:13:47,368 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:13:47,368 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:13:47,368 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:13:47,369 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:13:47,370 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:13:47,415 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:13:47,416 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:13:47,417 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 12:13:47,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:47,522 INFO L286 TraceCheckSpWp]: Computing forward predicates...